description: 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.
solution: import java.util.*;
  import java.lang.*;
  import java.io.*;
  
  public class Codechef {
  	static long fans[] = new long[200001];
  	static long inv[] = new long[200001];
  	static long mod = 1000000007;
  
  	static void init() {
  		fans[0] = 1;
  		inv[0] = 1;
  		fans[1] = 1;
  		inv[1] = 1;
  		for (int i = 2; i < 200001; i++) {
  			fans[i] = ((long) i * fans[i - 1]) % mod;
  			inv[i] = power(fans[i], mod - 2);
  		}
  	}
  
  	static long ncr(int n, int r) {
  		return (((fans[n] * inv[n - r]) % mod) * (inv[r])) % mod;
  	}
  
  	public static void main(String[] args) throws java.lang.Exception {
  		FastReader in = new FastReader(System.in);
  		StringBuilder sb = new StringBuilder();
  		int t = 1;
  		t = in.nextInt();
  		while (t > 0) {
  			--t;
  		int n = in.nextInt();
  		int k = 3;
  		for(int i = 0;i<n;i++) {
  			sb.append(k+" ");
  			++k;
  		}
  		sb.append("\n");
  
  		}
  		System.out.print(sb);
  	}
  
  	static long power(long x, long y) {
  		long res = 1; // Initialize result
  
  		while (y > 0) {
  
  			// If y is odd, multiply x with result
  			if ((y & 1) != 0)
  				res = ((res % mod) * (x % mod)) % mod;
  
  			// y must be even now
  			y = y >> 1; // y = y/2
  			x = ((x % mod) * (x % mod)) % mod; // Change x to x^2
  		}
  		return res;
  	}
  
  	static long[] generateArray(FastReader in, int n) throws IOException {
  		long arr[] = new long[n];
  		for (int i = 0; i < n; i++)
  			arr[i] = in.nextLong();
  		return arr;
  	}
  
  	static long[][] generatematrix(FastReader in, int n, int m) throws IOException {
  		long arr[][] = new long[n][m];
  		for (int i = 0; i < n; i++) {
  			for (int j = 0; j < m; j++) {
  				arr[i][j] = in.nextLong();
  			}
  		}
  		return arr;
  	}
  
  	static long gcd(long a, long b) {
  		if (a == 0)
  			return b;
  		else
  			return gcd(b % a, a);
  	}
  
  	static long lcm(long a, long b) {
  		return (a / gcd(a, b)) * b;
  	}
  
  	static void sort(long[] a) {
  		ArrayList<Long> l = new ArrayList<>();
  		for (long i : a)
  			l.add(i);
  		Collections.sort(l);
  		for (int i = 0; i < a.length; i++)
  			a[i] = l.get(i);
  	}
  }
  
  class FastReader {
  
  	byte[] buf = new byte[2048];
  	int index, total;
  	InputStream in;
  
  	FastReader(InputStream is) {
  		in = is;
  	}
  
  	int scan() throws IOException {
  		if (index >= total) {
  			index = 0;
  			total = in.read(buf);
  			if (total <= 0) {
  				return -1;
  			}
  		}
  		return buf[index++];
  	}
  
  	String next() throws IOException {
  		int c;
  		for (c = scan(); c <= 32; c = scan())
  			;
  		StringBuilder sb = new StringBuilder();
  		for (; c > 32; c = scan()) {
  			sb.append((char) c);
  		}
  		return sb.toString();
  	}
  
  	String nextLine() throws IOException {
  		int c;
  		for (c = scan(); c <= 32; c = scan())
  			;
  		StringBuilder sb = new StringBuilder();
  		for (; c != 10 && c != 13; c = scan()) {
  			sb.append((char) c);
  		}
  		return sb.toString();
  	}
  
  	char nextChar() throws IOException {
  		int c;
  		for (c = scan(); c <= 32; c = scan())
  			;
  		return (char) c;
  	}
  
  	int nextInt() throws IOException {
  		int c, val = 0;
  		for (c = scan(); c <= 32; c = scan())
  			;
  		boolean neg = c == '-';
  		if (c == '-' || c == '+') {
  			c = scan();
  		}
  		for (; c >= '0' && c <= '9'; c = scan()) {
  			val = (val << 3) + (val << 1) + (c & 15);
  		}
  		return neg ? -val : val;
  	}
  
  	long nextLong() throws IOException {
  		int c;
  		long val = 0;
  		for (c = scan(); c <= 32; c = scan())
  			;
  		boolean neg = c == '-';
  		if (c == '-' || c == '+') {
  			c = scan();
  		}
  		for (; c >= '0' && c <= '9'; c = scan()) {
  			val = (val << 3) + (val << 1) + (c & 15);
  		}
  		return neg ? -val : val;
  	}
  }