//// "و ذا النون اذ ذهب مغاضبا فظن ان لن نقدر عليه"
//// "فنادي في الظلمات ان لا اله لا انت سبحانك اني كنت من الظالمين"
//// "فاستجبنا له و نجينه من الغم و كذلك ننجي المؤمنين"
// MORE FALLS , HIGHER JUMPS YOU GET !! //
#include <bits/stdc++.h>
#define ll long long
#define Zhraa ios_base::sync_with_stdio(false); cin.tie(nullptr);cout.tie(nullptr);
#define YES "YES"
#define NO "NO"
#define sp ' '
#define nl '\n'
#define ON(mask,bit) (mask | (1LL<<bit) )
#define OFF(mask,bit) ( mask & ~ ( 1LL << bit ) )
#define IsOn(mask,bit) (( mask>>bit) & 1LL)
#define toggle(mask,bit)( mask ^ (1LL<<bit) )
#define IsOdd(mask) (mask & 1LL)
using namespace std;
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#include <cstring>
using namespace __gnu_pbds;
#define ordered_set tree<ll, null_type,less<ll>, rb_tree_tag,tree_order_statistics_node_update>
// down up right left
int dx []={ 1 , -1 , 0 , 0 , -1 ,1,-1, 1 };
int dy []={ 0 , 0 , 1 , -1 , -1 ,1, 1,-1 };
char dir[] = {'D', 'U' , 'R' , 'L'};
const ll MOD = 1e9 + 7;
const int N = 5e3+2,M=1e5+2 ;
const int oo = 0x3f3f3f3f;
const ll ooLL = 0x3f3f3f3f3f3f3f3f;
///////////////////////////////////////// The Code ///////////////////////////////////////////
//constant
//state
int go (int i , int j ){// calc min oper to get same strings
}
void solve(){
int n;cin>>n;
ll mult =1;
mult*=2;
while(mult<(1e18/3)){
cout<<mult<<sp;
mult*=(2);
n--;
if(n<=0) {
break;
}
}
ll ood = 3;
bool done =false;
while(n&&!done){
ll mult =1;
mult*=ood;ood+=2;
while(mult<=(1e18/ood-2)){
cout<<mult<<sp;
mult*=(ood-2);
n--;
if(n<=0) {
done =true;
break;
}
}
if(done)
break;
cout<<mult *ood<<sp;
n--;
if(n<=0) {
done =true;
break;
}
}
cout<<nl;
}
int main() {
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
Zhraa
int t =1;
cin>>t;
while (t--)
solve();
}
Ly8vLyAi2Ygg2LDYpyDYp9mE2YbZiNmGINin2LAg2LDZh9ioINmF2LrYp9i22KjYpyDZgdi42YYg2KfZhiDZhNmGINmG2YLYr9ixINi52YTZitmHIgovLy8vICLZgdmG2KfYr9mKINmB2Yog2KfZhNi42YTZhdin2Kog2KfZhiDZhNinINin2YTZhyDZhNinINin2YbYqiDYs9io2K3Yp9mG2YMg2KfZhtmKINmD2YbYqiDZhdmGINin2YTYuNin2YTZhdmK2YYiCi8vLy8gICLZgdin2LPYqtis2KjZhtinINmE2Ycg2Ygg2YbYrNmK2YbZhyDZhdmGINin2YTYutmFINmIINmD2LDZhNmDINmG2YbYrNmKINin2YTZhdik2YXZhtmK2YYiCi8vIE1PUkUgRkFMTFMgLCBISUdIRVIgSlVNUFMgWU9VIEdFVCAhISAvLwojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBaaHJhYSBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsgY2luLnRpZShudWxscHRyKTtjb3V0LnRpZShudWxscHRyKTsKI2RlZmluZSBZRVMgIllFUyIKI2RlZmluZSBOTyAiTk8iCiNkZWZpbmUgc3AgJyAnCiNkZWZpbmUgbmwgJ1xuJwojZGVmaW5lIE9OKG1hc2ssYml0KSAobWFzayB8ICgxTEw8PGJpdCkgKQojZGVmaW5lIE9GRihtYXNrLGJpdCkgKCBtYXNrICYgfiAoIDFMTCA8PCBiaXQgKSApCiNkZWZpbmUgSXNPbihtYXNrLGJpdCkgKCggbWFzaz4+Yml0KSAmIDFMTCkKI2RlZmluZSB0b2dnbGUobWFzayxiaXQpKCBtYXNrIF4gKDFMTDw8Yml0KSApCiNkZWZpbmUgSXNPZGQobWFzaykgKG1hc2sgJiAxTEwpCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojaW5jbHVkZSA8ZXh0L3BiX2RzL2Fzc29jX2NvbnRhaW5lci5ocHA+CiNpbmNsdWRlIDxleHQvcGJfZHMvdHJlZV9wb2xpY3kuaHBwPgojaW5jbHVkZSA8Y3N0cmluZz4KdXNpbmcgbmFtZXNwYWNlIF9fZ251X3BiZHM7CiNkZWZpbmUgb3JkZXJlZF9zZXQgdHJlZTxsbCwgbnVsbF90eXBlLGxlc3M8bGw+LCByYl90cmVlX3RhZyx0cmVlX29yZGVyX3N0YXRpc3RpY3Nfbm9kZV91cGRhdGU+CgovLyAgICAgICAgZG93biAgIHVwIHJpZ2h0ICBsZWZ0CmludCBkeCBbXT17IDEgLCAtMSAsIDAgLCAgMCAgICAgLCAtMSAsMSwtMSwgMSB9OwppbnQgZHkgW109eyAwICwgIDAgLCAxICwgLTEgICAgICwgLTEgLDEsIDEsLTEgfTsKY2hhciBkaXJbXSA9IHsnRCcsICdVJyAsICdSJyAsICdMJ307Cgpjb25zdCBsbCBNT0QgPSAxZTkgKyA3Owpjb25zdCBpbnQgTiA9IDVlMysyLE09MWU1KzIgIDsKY29uc3QgaW50IG9vID0gMHgzZjNmM2YzZjsKY29uc3QgbGwgb29MTCA9IDB4M2YzZjNmM2YzZjNmM2YzZjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIFRoZSBDb2RlIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vY29uc3RhbnQKLy9zdGF0ZQoKaW50IGdvIChpbnQgaSAsIGludCBqICl7Ly8gY2FsYyBtaW4gb3BlciB0byBnZXQgc2FtZSBzdHJpbmdzCgp9CgoKCgoKdm9pZCBzb2x2ZSgpewoKICAgIGludCBuO2Npbj4+bjsKCiAgICBsbCBtdWx0ID0xOwogICAgbXVsdCo9MjsKICAgIHdoaWxlKG11bHQ8KDFlMTgvMykpewogICAgICAgIGNvdXQ8PG11bHQ8PHNwOwogICAgICAgIG11bHQqPSgyKTsKICAgICAgICBuLS07CiAgICAgICAgaWYobjw9MCkgewoKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgfQoKCgogICAgbGwgb29kID0gMzsKICAgIGJvb2wgZG9uZSA9ZmFsc2U7CiAgICB3aGlsZShuJiYhZG9uZSl7CiAgICAgICAgbGwgbXVsdCA9MTsKICAgICAgICBtdWx0Kj1vb2Q7b29kKz0yOwogICAgICAgIHdoaWxlKG11bHQ8PSgxZTE4L29vZC0yKSl7CiAgICAgICAgICAgIGNvdXQ8PG11bHQ8PHNwOwogICAgICAgICAgICBtdWx0Kj0ob29kLTIpOwogICAgICAgICAgICBuLS07CiAgICAgICAgICAgIGlmKG48PTApIHsKICAgICAgICAgICAgICAgIGRvbmUgPXRydWU7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZihkb25lKQogICAgICAgICAgICBicmVhazsKICAgICAgICBjb3V0PDxtdWx0ICpvb2Q8PHNwOwogICAgICAgIG4tLTsKICAgICAgICBpZihuPD0wKSB7CiAgICAgICAgICAgIGRvbmUgPXRydWU7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KCiAgICB9CiAgICBjb3V0PDxubDsKCgp9CgoKaW50IG1haW4oKSB7CgojaWZuZGVmIE9OTElORV9KVURHRQogICAgZnJlb3BlbigiaW5wdXQudHh0IiwgInIiLCBzdGRpbik7CiAgICBmcmVvcGVuKCJvdXRwdXQudHh0IiwgInciLCBzdGRvdXQpOwojZW5kaWYKCiAgICBaaHJhYQoKICAgIGludCB0ID0xOwogICAgY2luPj50OwoKCiAgICB3aGlsZSAodC0tKQogICAgICAgIHNvbHZlKCk7CgoKfQ==