#pragma GCC optimize("Ofast") #pragma GCC target("avx2") #define rd_init() char*rp=({char*mmap();mmap(0l,1l<<25,1,2,0,0ll);}) #define rd() ({int _v=0,_c;while(_c=*rp++-48,_c>=0)_v=_v*10+_c;_v;}) #define repeat(e) for(typeof(e)_=e;_--;) char wbuf[1<<25]; int main(){ char*wp=wbuf; rd_init(); int t=rd(); repeat(t){ int k=rd(); if(k<18){ *wp++='0'+(k+2>>1); *wp++='0'; *wp++='0'+(k-1>>1); }else{ int a=++k%9; if(a)*wp++='0'+a; *wp++='9'; *wp++='0'; *wp++='8'; repeat(k/9-2){ *wp++='9'; } } *wp++='\n'; } write(1,wbuf,wp-wbuf); _exit(0); }