ll@q; rep(q){ ll@up,@uq,uf[32],ufn,ul=0; ll@vp,@vq,vf[32],vfn,vl=0; uq-=up; vq-=vp; ufn=Factor(uq,uf); vfn=Factor(vq,vf); while(1){ ll d=vq-uq; if(d==0){ if(up1){ rep(i,ufn){ if(uq%uf[i]==0){ ll r=uf[i]-up%uf[i]; ul=0){ vp+=vl; rep(i,vfn){ while(vp%vf[i]==0&&vq%vf[i]==0){ vp/=vf[i]; vq/=vf[i]; } } vl=1<<30; if(vq>1){ rep(i,vfn){ if(vq%vf[i]==0){ ll r=vf[i]-vp%vf[i]; vl