#pragma GCC optimize("Ofast") #pragma GCC target("avx2") char*mmap(); char wbuf[1<<25]; #define rd_skip() while(*rp++>=48) #define rd(v) long v=0;{long _c;while(_c=*rp++-48,_c>=0)v=v*10+_c;} #define WTHI(v) {long _z=v,_n=0,_d=0;while(++_n,_d=_d<<8|0x30|_z%10,_z/=10);*(long*)wp=_d;wp+=_n;} #define WTLO(v) {long _z=v,_n=8,_d=0;while(_d=_d<<8|0x30|_z%10,_z/=10,--_n);*(long*)wp=_d;wp+=8;} #define wt(v) if(v>=100000000){WTHI(v/100000000);WTLO(v);}else{WTHI(v);} long f(long x){ if(x%2) return 2; if(x%3) return 3; if(x%4) return 4; if(x%5) return 5; if(x%8&&x%9) return 6; if(x%7) return 7; if(x%8) return 8; if(x%9) return 9; if(x%11) return 11; if(x%16&&x%27) return 12; if(x%13) return 13; if(x%27&&x%25) return 15; if(x%16) return 16; if(x%17) return 17; if(x%32&&x%27) return 18; if(x%19) return 19; if(x%64==32&&x%25) return 20; if(x%27&&x%49) return 21; if(x%23) return 23; if(x%32&&x%81) return 24; if(x%25) return 25; if(x%29) return 29; if(x%31) return 31; return 0; } main(){ char*rp=mmap(0l,1l<<25,1,2,0,0ll); char*wp=wbuf; rd_skip(); while(*rp){ rd(x); long y=f(x); long z=x*y; wt(z); *wp++='\n'; } write(1,wbuf,wp-wbuf); _exit(0); }