ll@n,@q,@wt,@st,@w[n]; ull xs[q];ll ys[q]; rep(i,q){ ll@--l,@--r; ull x=0; rep(32){ x<<=2; if(r<1d5){ x|=0; (l,r)=(l,r); }else if(l>=1d5){ x|=3; (l,r)=(l-1d5,r-1d5); }else if(l+r<2d5){ x|=1; (l,r)=(r-1d5,1d5-1-l); }else{ x|=2; (l,r)=(1d5-1-r,l-1d5); } l*=2; r*=2; } xs[i]=x; ys[i]=i+1; } sortA(q,xs,ys); wt(ys(q));