#include using namespace std; typedef long long ll; templatebool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (b>N; vector> ask; vector res; for(int a=1;a<=3;a++){ for(int b=a+1;b<=3;b++){ cout<<"?"<<" "<>S; ask.push_back(mp(a-1,b-1)); if(S=="Yes") res.push_back(1); else res.push_back(0); } } vector P={1,2,3}; do{ bool ok=true; for(int t=0;t<3;t++){ if(res[t]==1){ ok&=(P[ask[t].fi]=P[ask[t].se]); } } if(!ok) continue; cout<<"!"; for(int i=1;i<=N;i++) cout<<" "<