#include <bits/stdc++.h>
using namespace std;
void __print(int x) { cerr << x; }
void __print(long x) { cerr << x; }
void __print(long long x) { cerr << x; }
void __print(unsigned x) { cerr << x; }
void __print(unsigned long x) { cerr << x; }
void __print(unsigned long long x) { cerr << x; }
void __print(float x) { cerr << x; }
void __print(double x) { cerr << x; }
void __print(long double x) { cerr << x; }
void __print(char x) { cerr << '\'' << x << '\''; }
void __print(const char *x) { cerr << '\"' << x << '\"'; }
void __print(const string &x) { cerr << '\"' << x << '\"'; }
void __print(bool x) { cerr << (x ? "true" : "false"); }
template <typename T, typename V>
void __print(const pair<T, V> &x) {
  cerr << '{';
  __print(x.first);
  cerr << ',';
  __print(x.second);
  cerr << '}';
}
template <typename T>
void __print(const T &x) {
  int f = 0;
  cerr << '{';
  for (auto &i : x) cerr << (f++ ? "," : ""), __print(i);
  cerr << "}";
}
void _print() { cerr << "]\n"; }
template <typename T, typename... V>
void _print(T t, V... v) {
  __print(t);
  if (sizeof...(v)) cerr << ", ";
  _print(v...);
}
void fun_123(int x) { x = 30; }
void fun_124(int x) { x = 30; }
int maxxFDSFFFM(int x, int y) {
  if (x > y)
    return x;
  else
    return y;
}
int maxxxDFSZM(int x, int y) {
  if (x > y)
    return x;
  else
    return y;
}
int maxxxxxxxcZDECCRM(int x, int y) {
  if (x > y)
    return x;
  else
    return y;
}
int maxxxxxx23fscfcM(int x, int y) {
  if (x > y)
    return x;
  else
    return y;
}
int maxxxxxxxxxxxxxM(int x, int y) {
  if (x > y)
    return x;
  else
    return y;
}
int maxxxsdbhdvhsvhv_M(int x, int y) {
  if (x > y)
    return x;
  else
    return y;
}
int maxxxxxx_____21xM(int x, int y) {
  if (x > y)
    return x;
  else
    return y;
}
int maxxhngmhjfmdnxxxM(int x, int y) {
  if (x > y)
    return x;
  else
    return y;
}
int maxxxxczccwdszcSdvxM(int x, int y) {
  if (x > y)
    return x;
  else
    return y;
}
int find_find_find_() {
  int alpha, beta;
  alpha = maxxxxczccwdszcSdvxM(7, 2);
  beta = maxxhngmhjfmdnxxxM(5, 2);
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  alpha++;
  alpha++;
  alpha++;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  beta--;
  beta--;
  beta--;
  beta--;
  beta--;
  beta--;
  beta--;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha = maxxxxczccwdszcSdvxM(7, 2);
  beta = maxxxxxx23fscfcM(5, 2);
  alpha = maxxxxxx_____21xM(2, 1);
  fun_123(2);
  int popppp = 100;
  int pop212 = 100;
  popppp++;
  pop212--;
  pop212--;
  beta--;
  beta--;
  beta--;
  beta--;
  beta--;
  beta--;
  beta--;
  beta--;
  pop212--;
  pop212--;
  popppp++;
  popppp++;
  pop212--;
  pop212--;
  pop212--;
  pop212--;
  long long n, m, q, z, k, d;
  long long ans = 0, cnt = 0;
  long long x, y;
  long long l{-1}, r{-1};
  string s;
  string t;
  cin >> n;
  x = floor(n / 3.00);
  y = ceil(n / 3.00);
  if (x + 2 * y == n)
    cout << x << " " << y << "\n";
  else
    cout << y << " " << x << "\n";
  if (beta) alpha++;
  popppp++;
  popppp++;
  popppp++;
  popppp++;
  popppp++;
  popppp++;
  popppp++;
  popppp++;
  popppp++;
  popppp++;
  pop212--;
  pop212--;
  pop212--;
  pop212--;
  pop212--;
  pop212--;
  pop212--;
  pop212--;
  pop212--;
  pop212--;
  pop212--;
  pop212--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  return 0;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int t;
  cin >> t;
  int delta = 10000;
  delta--;
  for (int i = 0; i < t; i++) {
    find_find_find_();
    delta--;
  }
  delta--;
  delta--;
  return 0;
}

### Prompt

Please formulate a cpp solution to the following problem:

Polycarp must pay exactly n burles at the checkout. He has coins of two nominal values: 1 burle and 2 burles. Polycarp likes both kinds of coins equally. So he doesn't want to pay with more coins of one type than with the other.

Thus, Polycarp wants to minimize the difference between the count of coins of 1 burle and 2 burles being used. Help him by determining two non-negative integer values c_1 and c_2 which are the number of coins of 1 burle and 2 burles, respectively, so that the total value of that number of coins is exactly n (i. e. c_1 + 2 ⋅ c_2 = n), and the absolute value of the difference between c_1 and c_2 is as little as possible (i. e. you must minimize |c_1-c_2|).

Input

The first line contains one integer t (1 ≤ t ≤ 10^4) — the number of test cases. Then t test cases follow.

Each test case consists of one line. This line contains one integer n (1 ≤ n ≤ 10^9) — the number of burles to be paid by Polycarp.

Output

For each test case, output a separate line containing two integers c_1 and c_2 (c_1, c_2 ≥ 0) separated by a space where c_1 is the number of coins of 1 burle and c_2 is the number of coins of 2 burles. If there are multiple optimal solutions, print any one.

Example

Input


6
1000
30
1
32
1000000000
5


Output


334 333
10 10
1 0
10 11
333333334 333333333
1 2

Note

The answer for the first test case is "334 333". The sum of the nominal values of all coins is 334 ⋅ 1 + 333 ⋅ 2 = 1000, whereas |334 - 333| = 1. One can't get the better value because if |c_1 - c_2| = 0, then c_1 = c_2 and c_1 ⋅ 1 + c_1 ⋅ 2 = 1000, but then the value of c_1 isn't an integer.

The answer for the second test case is "10 10". The sum of the nominal values is 10 ⋅ 1 + 10 ⋅ 2 = 30 and |10 - 10| = 0, whereas there's no number having an absolute value less than 0.

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
void __print(int x) { cerr << x; }
void __print(long x) { cerr << x; }
void __print(long long x) { cerr << x; }
void __print(unsigned x) { cerr << x; }
void __print(unsigned long x) { cerr << x; }
void __print(unsigned long long x) { cerr << x; }
void __print(float x) { cerr << x; }
void __print(double x) { cerr << x; }
void __print(long double x) { cerr << x; }
void __print(char x) { cerr << '\'' << x << '\''; }
void __print(const char *x) { cerr << '\"' << x << '\"'; }
void __print(const string &x) { cerr << '\"' << x << '\"'; }
void __print(bool x) { cerr << (x ? "true" : "false"); }
template <typename T, typename V>
void __print(const pair<T, V> &x) {
  cerr << '{';
  __print(x.first);
  cerr << ',';
  __print(x.second);
  cerr << '}';
}
template <typename T>
void __print(const T &x) {
  int f = 0;
  cerr << '{';
  for (auto &i : x) cerr << (f++ ? "," : ""), __print(i);
  cerr << "}";
}
void _print() { cerr << "]\n"; }
template <typename T, typename... V>
void _print(T t, V... v) {
  __print(t);
  if (sizeof...(v)) cerr << ", ";
  _print(v...);
}
void fun_123(int x) { x = 30; }
void fun_124(int x) { x = 30; }
int maxxFDSFFFM(int x, int y) {
  if (x > y)
    return x;
  else
    return y;
}
int maxxxDFSZM(int x, int y) {
  if (x > y)
    return x;
  else
    return y;
}
int maxxxxxxxcZDECCRM(int x, int y) {
  if (x > y)
    return x;
  else
    return y;
}
int maxxxxxx23fscfcM(int x, int y) {
  if (x > y)
    return x;
  else
    return y;
}
int maxxxxxxxxxxxxxM(int x, int y) {
  if (x > y)
    return x;
  else
    return y;
}
int maxxxsdbhdvhsvhv_M(int x, int y) {
  if (x > y)
    return x;
  else
    return y;
}
int maxxxxxx_____21xM(int x, int y) {
  if (x > y)
    return x;
  else
    return y;
}
int maxxhngmhjfmdnxxxM(int x, int y) {
  if (x > y)
    return x;
  else
    return y;
}
int maxxxxczccwdszcSdvxM(int x, int y) {
  if (x > y)
    return x;
  else
    return y;
}
int find_find_find_() {
  int alpha, beta;
  alpha = maxxxxczccwdszcSdvxM(7, 2);
  beta = maxxhngmhjfmdnxxxM(5, 2);
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  alpha++;
  alpha++;
  alpha++;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  beta--;
  beta--;
  beta--;
  beta--;
  beta--;
  beta--;
  beta--;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha = maxxxxczccwdszcSdvxM(7, 2);
  beta = maxxxxxx23fscfcM(5, 2);
  alpha = maxxxxxx_____21xM(2, 1);
  fun_123(2);
  int popppp = 100;
  int pop212 = 100;
  popppp++;
  pop212--;
  pop212--;
  beta--;
  beta--;
  beta--;
  beta--;
  beta--;
  beta--;
  beta--;
  beta--;
  pop212--;
  pop212--;
  popppp++;
  popppp++;
  pop212--;
  pop212--;
  pop212--;
  pop212--;
  long long n, m, q, z, k, d;
  long long ans = 0, cnt = 0;
  long long x, y;
  long long l{-1}, r{-1};
  string s;
  string t;
  cin >> n;
  x = floor(n / 3.00);
  y = ceil(n / 3.00);
  if (x + 2 * y == n)
    cout << x << " " << y << "\n";
  else
    cout << y << " " << x << "\n";
  if (beta) alpha++;
  popppp++;
  popppp++;
  popppp++;
  popppp++;
  popppp++;
  popppp++;
  popppp++;
  popppp++;
  popppp++;
  popppp++;
  pop212--;
  pop212--;
  pop212--;
  pop212--;
  pop212--;
  pop212--;
  pop212--;
  pop212--;
  pop212--;
  pop212--;
  pop212--;
  pop212--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  alpha++;
  beta--;
  return 0;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int t;
  cin >> t;
  int delta = 10000;
  delta--;
  for (int i = 0; i < t; i++) {
    find_find_find_();
    delta--;
  }
  delta--;
  delta--;
  return 0;
}

```