fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. #define all(v) v.begin(), v.end()
  5. #define rall(v) v.rbegin(), v.rend()
  6. #define fr(v) for (int i = 0; i < v.size(); i++)
  7. #define Fast \
  8.   ios_base::sync_with_stdio(false); \
  9.   cin.tie(NULL);
  10. void input()
  11. {
  12. if (fopen("stdin.txt", "r"))
  13. {
  14. freopen("stdin.txt", "r", stdin);
  15. freopen("stdout.txt", "w", stdout);
  16. }
  17. }
  18. ll OO = 0x3f3f3f3f;
  19. bool is_prime(ll n)
  20. {
  21. if (n < 2)
  22. return 0;
  23. else
  24. {
  25. for (ll i = 2; i <= n / i; i++)
  26. {
  27. if (n % i == 0)
  28. return 0;
  29. }
  30. }
  31. return 1;
  32. }
  33. ll power(ll b, ll n, ll m)
  34. {
  35. if (b == 0 && n == 0)
  36. {
  37. return 1;
  38. }
  39. ll res = 1;
  40. while (n > 0)
  41. {
  42. if (n % 2 != 0)
  43. {
  44. res = (res * b) % m;
  45. }
  46. b = ((b % m) * (b % m)) % m;
  47. n /= 2;
  48. }
  49. return res;
  50. }
  51. ll mod = 1e9 + 7;
  52. ll modProd(ll a, ll b)
  53. {
  54. /// complexity: 1
  55. a = (a % mod + mod) % mod;
  56. b = (b % mod + mod) % mod;
  57. return (a * b) % mod;
  58. }
  59. ll modSum(ll a, ll b)
  60. {
  61. /// complexity: 1
  62. a = (a % mod + mod) % mod;
  63. b = (b % mod + mod) % mod;
  64. return (a + b) % mod;
  65. }
  66. ll msb(ll x)
  67. {
  68. return log2(x);
  69. }
  70. long long SumOfDivisors(long long num)
  71. {
  72. long long total = 1;
  73.  
  74. for (int i = 2; (long long)i * i <= num; i++)
  75. {
  76. if (num % i == 0)
  77. {
  78. int e = 0;
  79. do
  80. {
  81. e++;
  82. num /= i;
  83. } while (num % i == 0);
  84.  
  85. long long sum = 0, pow = 1;
  86. do
  87. {
  88. sum += pow;
  89. pow *= i;
  90. } while (e-- > 0);
  91. total *= sum;
  92. }
  93. }
  94. if (num > 1)
  95. {
  96. total *= (1 + num);
  97. }
  98. return total;
  99. }
  100. vector<ll> divisors(ll n)
  101. {
  102. vector<ll> res;
  103. ll i;
  104. for (i = 1; i < n / i; i++)
  105. {
  106. if (n % i == 0)
  107. {
  108. res.push_back(i);
  109. res.push_back(n / i);
  110. }
  111. }
  112. if (i == n / i)
  113. res.push_back(i);
  114. return res;
  115. }
  116. ll N = 5263726;
  117. vector<bool> isprime(N + 1, 1);
  118. vector<int> _3_divisors, p;
  119. vector<int> vec;
  120. void seive()
  121. {
  122. isprime[0] = isprime[1] = 0;
  123. for (ll i = 2; i <= N; i++)
  124. {
  125. if (!isprime[i])
  126. continue;
  127. p.push_back(i);
  128. for (ll j = 1LL * i * i; j <= N; j += i)
  129. isprime[j] = 0;
  130. }
  131. for (int i = 0; i < p.size(); i++)
  132. {
  133. for (int j = i + 1; j < p.size(); j++)
  134. {
  135. if (p[i] * p[j] * 1LL > 10527451)
  136. break;
  137. vec.push_back(1LL * p[i] * p[j]);
  138. }
  139. }
  140. sort(all(vec));
  141. }
  142. int dx[4] = {-1, 1, 0, 0};
  143. int dy[4] = {0, 0, 1, -1};
  144. int k_dx[8] = {1, 2, 2, 1, -1, -2, -2, -1};
  145. int k_dy[8] = {2, 1, -1, -2, -2, -1, 1, 2};
  146. // up,down,right,left
  147. const int MAX = 1e6 + 5;
  148. ll dp[100005][10];
  149. ll pref[11][MAX], pre[MAX];
  150. void pre_compute()
  151. {
  152. for (int i = 1; i < MAX; i++)
  153. {
  154. if (isprime[i])
  155. {
  156. for (int j = i; j <= MAX; j += i)
  157. {
  158. pre[j]++;
  159. }
  160. }
  161. }
  162. pref[0][1] = 1;
  163. for (int i = 0; i <= 10; i++)
  164. {
  165. for (int j = i; j < MAX; j++)
  166. {
  167. pref[i][j] = pref[i][j - 1] + (pre[j] == i);
  168. }
  169. }
  170. }
  171. void solve()
  172. {
  173. ll n;
  174. cin >> n;
  175. cout << vec[n - 1] << "\n";
  176. }
  177. int main()
  178. {
  179. ios_base::sync_with_stdio(false);
  180. cin.tie(NULL);
  181. input();
  182. seive();
  183. int _t = 1;
  184. cin >> _t;
  185. while (_t--)
  186. {
  187. solve();
  188. }
  189. return 0;
  190. }
Success #stdin #stdout 1.32s 136976KB
stdin
Standard input is empty
stdout
0