#include using namespace std; int main(){ ios::sync_with_stdio(false); std::cin.tie(nullptr); std::cout.tie(nullptr); int N; cin>>N; priority_queue>,vector>>,greater>>> q; vector>> qq(N+1); string S; auto f = [&](vector &s) -> void { cout<<"? "<>S; return; }; for(int i=1;i<=N;i++){ int n = 0; vector t; while(true){ vector s(n+1,i); f(s); if(S == "No") break; else{ n++; t = s; } } if(t.size()) qq[t.size()].push_back(t); } for(int i=0;i<=N;i++)for(auto s:qq[i]) q.push({i,s}); while(q.size() > 1){ auto [aaa,a] = q.top(); q.pop(); auto [bbb,b] = q.top(); q.pop(); vector c = {}; int ai = 0, bi = 0; vector s; while(ai != a.size() || bi != b.size()){ if(ai == a.size()){ c.emplace_back(b[bi]); bi++; continue; } if(bi == b.size()){ c.emplace_back(a[ai]); ai++; continue; } cout<<"? "<>S; if(S == "Yes"){ c.emplace_back(b[bi]); bi++; continue; } else{ c.emplace_back(a[ai]); ai++; continue; } } q.push({aaa+bbb,c}); } cout<<'!'; auto [aaa,a] = q.top(); for(int x:a) cout<<' '<