int q[6d5],z[3d5]; ull a[3d5]; ll@t; rep(t){ ll@n,@m--; ll qn=0; ll an=0; a[an++]=m; if(m){ a[an++]=n-(m-1)<<32|0; if(m-1){ q[qn++]=1; q[qn++]=m-1; } } if((n-1)-m){ a[an++]=n-((n-1)-(m+1))<<32|n-1; if(m+1<=n-2){ q[qn++]=m+1; q[qn++]=n-2; } } while(qn){ ll r=q[--qn]; ll l=q[--qn]; ll h=r+l>>1; a[an++]=n-(h-l)<<32|h; if(h-l){ q[qn++]=l; q[qn++]=h-1; } if(r-h){ q[qn++]=h+1; q[qn++]=r; } } sortA(n,a); rep(i,n){ z[(unsigned)a[i]]=i+1; } wt(z(n)); }