#pragma GCC optimize("Ofast") #pragma GCC target("avx2") char*mmap(); #define rd_skip() while(*rp++>=48) #define rd(v) int v=0;{int _c;while(_c=*rp++-48,_c>=0)v=v*10+_c;} char wbuf[1<<28]; #define rep(v,e) for(int v=0;vb){ int t=a;a=b;b=t; } if(lb==1&&a==1&&b==2){ lb=3; }else if(lb-1!=a){ if(lb-1!=b&&lb>1){ --lb; } }else{ if(lb==b){ ++lb; } } if(rb==n&&a==n-1&&b==n){ rb=n-2; }else if(rb+1!=b){ if(rb+1!=a&&rbrb){ write(1,"NO",2); _exit(0); } *sp++=lb; *sp++=rb; } char*wp=wbuf+sizeof wbuf; int c=0; rrep(i,q+1){ int rb=*--sp; int lb=*--sp; int b=*--sp; int a=*--sp; if(crb){ c=rb; } if(c==a|c==b){ c=c==1|a==c-1|b==c-1?c+1:c-1; } *--wp=10; int v=c; do{ *--wp=v%10+48; }while(v/=10); } *--wp=10; *--wp='S'; *--wp='E'; *--wp='Y'; write(1,wp,wbuf+sizeof wbuf-wp); _exit(0); } }