#include #include #include using namespace std; int N; bool ask(vectorB) { if(N>s; return s=="Yes"; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cin>>N; vectorB; for(int a=1;a<=N;a++) { for(int cnt=0;;cnt++) { int f=0; if(cnt>0) { f=B.size(); while(B[f-1]!=a)f--; } { vectorC(B.begin(),B.begin()+f); C.push_back(a); if(!ask(C))break; } int L=f,R=B.size()+1; while(R-L>1) { int mid=(L+R)/2; vectorC(B.begin(),B.begin()+mid); C.push_back(a); if(ask(C))L=mid; else R=mid; } B.insert(B.begin()+L,a); } } cout<<"!"; for(int a:B)cout<<" "<