#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define D long long #define U unsigned using namespace std; D n, m,a, b, d, e, x, y, z; D i, j, k; char c,f; string s; D p[500]; int main() { cin >> a; iota(p, p + a, 1); f = 0; for (i = 0; i < a * 2;i++){ s = ""; s +='?'; for (j = 0; j < a; j++) { s += " "+to_string(p[j+f]); } for (; j < a * 2; j++) { s+= " 0"; } cout << s << endl; for (j = f; j < ((a-f)&(~0<<1)); j++) { cin >> c; if (c == '>') { swap(p[j], p[j + 1]); } } for (; j < a; j++) cin >> c; f ^= 1; } cout << '!'; for (i = 0; i < a; i++) { cout <<' '<< p[i]; } cout << endl; }