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