#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define ll long long #define forn(i,n) for(int i=0;i using namespace std; int tr[20005]={}; int M,n; void init_tree(int n){ M=1; while(M>=1; } } int get(int l,int r){ int res=0; for(l+=M-1,r+=M+1;l^r^1;l>>=1,r>>=1){ if(~l&1) res+=tr[l^1]; if(r&1) res+=tr[r^1]; } return res; } int fnd(int v){ int pos=1; while(pos=v) pos=lf; else{ v-=tr[lf]; pos=lf^1; } } return pos-M; } void nxt(int &nw,int s){ int x=get(nw,n); if(x>=s){ s+=get(1,nw)-tr[nw+M]; nw=fnd(s); //cout<>T; /*init(); rep(i,n){ printf(",%d",ans[i]); }*/ while(T--){ int x; scanf("%d",&x); printf("%d\n",ans[x]); } return 0; }