#pragma GCC optimize("Ofast") #pragma GCC target("avx2") #define rep(v,e) for(typeof(e) v=0;v<e;++v) unsigned buf[512]; int q(int i,int j,int x){ dprintf(1,"? %d %d %d %d\n",i,x,j,x); read(0,buf,8); return *buf&1?j:i; } main(){ int n,a,b,c; read(0,buf,8); n=atoi(buf); a=q(q(1,2,n*2),3,n*2); b=q(a%3+1,(a+1)%3+1,n); c=a^b; unsigned*p=buf; *p++='!'<<24; unsigned v; v=0x200020|a+48<<8|b+48<<24; rep(i,n){ *p++=v; } v=0x200020|a+48<<8|c+48<<24; rep(i,n){ *p++=v; } v=0x200020|b+48<<8|c+48<<24; rep(i,n){ *p++=v; } *p='\n'; write(1,(char*)buf+3,n*12+2); _exit(0); }