#pragma GCC optimize("Ofast") #pragma GCC target("avx2") char*mmap(); #define RD(v) int v=0;{int _c;while(_c=*rp++-48,_c>=0)v=v*10+_c;} #define WT(v) {int _z=v,_n=0;long _d=0;while(++_n,_d=_d<<8|0x30|_z%10,_z/=10);*(long*)wp=_d;wp+=_n;} static inline int max(int a,int b){ return a>b?a:b; } void locate(int s,int*px,int*py){ int r=(int)sqrt(s-1)+1&~1; int r1=r>>1; int t=(r+1)*(r+1)-s; if(tzx){ --ox; c=2; }else if(oy=32;iv>>=1){ if(av&iv){ fv|=iv; av^=vvs[31-__builtin_clz(iv)]; k+=2; } } if(av&16){ lv|=16; av^=19^1; // 1 -> 1,6,19,6,1 k+=4; } if(av&8){ lv|=8; av^=8^1; // 1 -> 1,8,1 k+=2; } if(av&4){ lv|=4; av^=4^1; // 1 -> 1,4,1 k+=2; } if(av&2){ lv|=2; av^=2^1; // 1 -> 1,8,1 k+=2; } if(av&1){ lv|=1; av^=1; // 1 -> 1,2,3,2,1,2,1 k+=6; } *wp++='0'; *wp++='\n'; WT(k); *wp++='\n'; fv=f2(0,cprenhalf,fv); if(lv&16) *wp++='L',*wp++='L',*wp++='R',*wp++='R'; if(lv&8) *wp++='D',*wp++='U'; if(lv&4) *wp++='U',*wp++='D'; if(lv&2) *wp++='R',*wp++='L'; if(lv&1) *wp++='R',*wp++='U',*wp++='D',*wp++='L',*wp++='R',*wp++='L'; fv=f2(cprenhalf,cpren,fv); *wp++=10; write(1,wbuf,wp-wbuf); _exit(0); }