#pragma GCC optimize("Ofast") #pragma GCC target("avx2") char rbuf[4096],wbuf[20*121*100]; #define RD(v) int v=0;{int c;while(c=*rp++-48,c>=0)v=v*10+c;} #define RDL(v) long v=0;{int c;while(c=*rp++-48,c>=0)v=v*10+c;} main(){ read(0,rbuf,sizeof rbuf); char*rp=rbuf; char*wp=wbuf; while(*rp++!=10); do{ RDL(a); RDL(b); int k=0; wp+=4; char* wpk=wp; while(b-a){ long c=a&-a; while(c>b-a) c>>=1; a+=c; wp+=18; #pragma unroll for(int l=0;l<18;++l){ *--wp=c%10+48; c/=10; } wp+=18; *wp++=32; ++k; } *--wpk=32; *--wpk=k%10+48; k/=10; *--wpk=k%10+48; k/=10; *--wpk=k%10+48; }while(*rp); write(1,wbuf,wp-wbuf); _exit(0); }