#include <bits/stdc++.h>
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
#pragma GCC target("avx2")
#pragma GCC optimize("Ofast")
using namespace std;
long long mod = 1000000007;
template <typename T>
void rv(vector<T> &a) {
  for (int i = 0; i < a.size(); i++) {
    cin >> a[i];
  }
}
long long gcd(long long a, long long b) { return b ? gcd(b, a % b) : a; }
int lcm(int a, int b) { return a / gcd(a, b) * b; }
uint64_t binpow(uint64_t a, uint64_t n) {
  uint64_t res = 1;
  while (n) {
    if (n & 1) res *= a;
    a *= a;
    n >>= 1;
  }
  return res;
}
long long binpow(long long a, long long b, long long m) {
  a %= m;
  long long res = 1;
  while (b > 0) {
    if (b & 1) res = res * a % m;
    a = a * a % m;
    b >>= 1;
  }
  return res;
}
const int EPS = 9;
const int eMXN = 2e5;
long long MinDivisor(long long n) {
  if (n % 2 == 0) return 2;
  for (long long i = 3, isqrt = sqrt(n); i <= isqrt; i += 2)
    if (n % i == 0) return i;
  return n;
}
bool IsPrime(long long n) { return (MinDivisor(n) == n); }
void print(vector<int> a) {
  for (auto c : a) {
    cout << c << " ";
  }
  cout << "\n";
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  int t;
  cin >> t;
  while (t--) {
    int n = 10000;
    int x;
    cin >> x;
    int *a = new int[n + 1];
    int cnt = 0;
    for (int i = 0; i < n + 1; i++) a[i] = i;
    for (int p = 2; p < n + 1; p++) {
      if (a[p] != 0) {
        cout << a[p] << " ";
        cnt++;
        for (int j = p * p; j < n + 1; j += p) a[j] = 0;
      }
      if (cnt == x) {
        break;
      }
    }
    cout << "\n";
  }
  return 0;
}

### Prompt

Construct a CPP code solution to the problem outlined:

Given n, find any array a_1, a_2, …, a_n of integers such that all of the following conditions hold: 

  * 1 ≤ a_i ≤ 10^9 for every i from 1 to n.

  * a_1 < a_2 < … <a_n

  * For every i from 2 to n, a_i isn't divisible by a_{i-1}




It can be shown that such an array always exists under the constraints of the problem.

Input

The first line contains the number of test cases t (1 ≤ t ≤ 100). Description of the test cases follows.

The only line of each test case contains a single integer n (1 ≤ n ≤ 1000).

It is guaranteed that the sum of n over all test cases does not exceed 10^4.

Output

For each test case print n integers a_1, a_2, …, a_n — the array you found. If there are multiple arrays satisfying all the conditions, print any of them.

Example

Input


3
1
2
7


Output


1
2 3
111 1111 11111 111111 1111111 11111111 111111111

Note

In the first test case, array [1] satisfies all the conditions.

In the second test case, array [2, 3] satisfies all the conditions, as 2<3 and 3 is not divisible by 2.

In the third test case, array [111, 1111, 11111, 111111, 1111111, 11111111, 111111111] satisfies all the conditions, as it's increasing and a_i isn't divisible by a_{i-1} for any i from 2 to 7.

### Response

```cpp
#include <bits/stdc++.h>
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
#pragma GCC target("avx2")
#pragma GCC optimize("Ofast")
using namespace std;
long long mod = 1000000007;
template <typename T>
void rv(vector<T> &a) {
  for (int i = 0; i < a.size(); i++) {
    cin >> a[i];
  }
}
long long gcd(long long a, long long b) { return b ? gcd(b, a % b) : a; }
int lcm(int a, int b) { return a / gcd(a, b) * b; }
uint64_t binpow(uint64_t a, uint64_t n) {
  uint64_t res = 1;
  while (n) {
    if (n & 1) res *= a;
    a *= a;
    n >>= 1;
  }
  return res;
}
long long binpow(long long a, long long b, long long m) {
  a %= m;
  long long res = 1;
  while (b > 0) {
    if (b & 1) res = res * a % m;
    a = a * a % m;
    b >>= 1;
  }
  return res;
}
const int EPS = 9;
const int eMXN = 2e5;
long long MinDivisor(long long n) {
  if (n % 2 == 0) return 2;
  for (long long i = 3, isqrt = sqrt(n); i <= isqrt; i += 2)
    if (n % i == 0) return i;
  return n;
}
bool IsPrime(long long n) { return (MinDivisor(n) == n); }
void print(vector<int> a) {
  for (auto c : a) {
    cout << c << " ";
  }
  cout << "\n";
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  int t;
  cin >> t;
  while (t--) {
    int n = 10000;
    int x;
    cin >> x;
    int *a = new int[n + 1];
    int cnt = 0;
    for (int i = 0; i < n + 1; i++) a[i] = i;
    for (int p = 2; p < n + 1; p++) {
      if (a[p] != 0) {
        cout << a[p] << " ";
        cnt++;
        for (int j = p * p; j < n + 1; j += p) a[j] = 0;
      }
      if (cnt == x) {
        break;
      }
    }
    cout << "\n";
  }
  return 0;
}

```