#define _CRT_SECURE_NO_WARNINGS #define _SCL_SECURE_NO_WARNINGS #define TASK "movetofront" #pragma comment(linker, "/STACK:810886422") #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; const int MOD = 998244353; const int INF = 1000000017; const double EPS = 1e-9; const int HASH_POW = 29; const long double PI = acos(-1.0); mt19937_64 rnd(chrono::high_resolution_clock::now().time_since_epoch().count()); long long nextLong(long long l, long long r) { uniform_int_distribution foo(l, r); return foo(rnd); } double nextDouble(double l, double r) { uniform_real_distribution foo(l, r); return foo(rnd); } double workTime() { return double(clock()) / CLOCKS_PER_SEC; } void myReturn(int code = 0) { #ifdef MYDEBUG cout << "\nTime = " << fixed << setprecision(3) << workTime() << endl; #endif exit(code); } //const int MAXN = 10000000; //int cnt[MAXN + 1]; const int MAXN = 100000; int pr[MAXN], c = 0; bool cmp[MAXN * 30]; void precalc() { c = 0; memset(cmp, false, sizeof cmp); for (int i = 2; i< 30 * MAXN && c < MAXN; ++i) { if (!cmp[i]) { pr[c++] = i; for (long long j = i*1ll*i; j < 30 * MAXN; j += i) { cmp[j] = true; } } } } void solve(int n) { vector ans(n, 1); int x = 4, bit = 0; vector p = { 2, 3 }; for (int i = 0; i < n; ++i) { int ind = (i % 2 == 0) ? pr[x++] : p[bit]; if (ind == p[bit]) { bit = (bit + 1) % 2; } if (i == n - 1) { ind = 5; } ans[i] *= ind; ans[(i + 1) % n] *= ind; } for (auto it : ans) { cout << it << " "; } cout << endl; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); #ifdef MYDEBUG freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); #else /*freopen(TASK".in", "r", stdin); freopen(TASK".out", "w", stdout);*/ /*freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout);*/ #endif /*for (int i = 2; i <= MAXN; ++i) { cnt[i] = 1; } for (int i = 2; i*i <= MAXN; ++i) { if (cnt[i] == 1) { for (int j = i*i; j <= MAXN; j += i) { cnt[j] = 0; } } } for (int i = 1; i <= MAXN; ++i) { cnt[i] += cnt[i - 1]; } int foo = sqrt(MAXN + 1.0) + 42; while (foo*(foo - 1) > 2 * MAXN) { --foo; } cout << cnt[foo]*(cnt[foo] - 1) / 2 << endl; cout << cnt[MAXN / 10] << endl;*/ precalc(); int CASE; cin >> CASE; while (CASE-- > 0) { int n; cin >> n; solve(n); } myReturn(); }