#include "bits/stdc++.h" using namespace std; #define FOR(i,j,k) for(int (i)=(j);(i)<(int)(k);++(i)) #define rep(i,j) FOR(i,0,j) #define each(x,y) for(auto &(x):(y)) #define mp make_pair #define all(x) (x).begin(),(x).end() #define debug(x) cout<<#x<<": "<<(x)< pii; typedef vector vi; typedef vector vll; string nstr(){ static const int MAX_LEN = 100001; static char res_[MAX_LEN]; scanf("%s",res_); return string(res_); } int N; vector q1(vi &lr){ printf("?"); rep(i, N*2) printf(" %d", lr[i]); printf("\n"); fflush(stdout); vector res(N); rep(i, N)res[i] = nstr(); return res; } void q2(vi &ans){ printf("!"); rep(i, sz(ans))printf(" %d", ans[i]); printf("\n"); fflush(stdout); } int main(){ scanf("%d", &N); vi ans(N); iota(all(ans), 1); int ok = 1; rep(iter, 1000){ ok = 1; rep(s, 2){ vi Q(N * 2); FOR(i, s, N)Q[i - s] = ans[i]; auto C = q1(Q); for(int i = s, j = 0; ; i += 2, ++j){ if(Q[i + 1] == 0)break; char c = C[j][0]; if(c == '>'){ ok = 0; swap(ans[i], ans[i + 1]); } } } } q2(ans); }