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: //package games;
  
  import java.util.ArrayDeque;
  import java.util.Deque;
  import java.util.Scanner;
  
  /**
   * @author SHshuo
   * @data 2021/12/11--18:07
   */
  public class findArray {
  
      public static void main(String[] args) {
  
  //        输入的数据
          Scanner sc = new Scanner(System.in);
          int[] array = new int[sc.nextInt()];
          findArray findArray = new findArray();
  //        实现规则
          for(int i = 0; i < array.length; i++){
              array[i] = sc.nextInt();
          }
  
          for(int i = 0; i < array.length; i++){
              findArray.rules(array[i]);
          }
      }
  
  
      private void rules(int input) {
          //    开始的暴力求解
          int[] array = new int[input];
          Deque<Integer> deque = new ArrayDeque<>();
          int i = 2, j = 0;
          while(j < array.length){
              if(deque.isEmpty() || i % deque.peek() != 0){
                  deque.offer(i);
                  array[j++] = i;
              }
              i++;
          }
  //        打印
          for(int num : array){
              System.out.print(num);
              System.out.print("\t");
          }
          System.out.println();
  
      }
  
  
  //    质数
  //    public static boolean isPrime3(int n) {
  //        if (n <= 3) {
  //            return n > 1;
  //        }
  //        int sqrt = (int) Math.sqrt(n);
  //        for (int i = 3; i <= sqrt; i += 2) {
  //            if (n % 2 == 0 || n % i == 0) {
  //                return false;
  //            }
  //        }
  //        return true;
  //    }
  //
  //
  //    public void test4(int n){
  //        int[] array = new int[n];
  //        array[0] = 1;
  //        double prescription = Math.sqrt(n);
  //        for (int i = 2; i <= prescription; i++) {
  //            for (int j = i * i; j <= n; j += i) {
  //                array[j - 1] = 1;
  //            }
  //        }
  //        //遍历数组，把值为0的数全部统计出来，得到素数之和
  //        for (int i = 0; i < array.length; i++) {
  //            if(array[i] == 0)
  //                sum++;
  //        }
  //        System.out.println(n+"以内的素数有"+sum+"个");
  //        long end = System.currentTimeMillis();
  //        System.out.println("The time cost is " + (end - start));
  //        System.out.println("");
  //    }
  
  
  }
  