#include <bits/stdc++.h>
#define int long long
#define pb push_back
#define fs first
#define sc second
using namespace std;
const int N = 1505;
int ans[N];
int ask(int a, int b){
cout << "? " << a << " " << b << endl;
int res;
cin >> res;
return res;
}
signed main() {
int n;
cin >> n;
vector<int> vec;
for(int i = 1; i <= n; i++) vec.pb(i);
int a = 1, b = 2, ab = ask(1, 2);
for(int c = 3; c <= n; c++){
int ac = ask(a, c), bc = ask(b, c);
if(ac < ab){
ans[c] = ac;
continue;
}
if(ac > ab){
ans[b] = ab;
b = c;
ab = ac;
continue;
}
ans[a] = ac;
a = c;
ab = bc;
}
ans[a] = ans[b] = ab;
cout << "!" << endl;
for(int i = 1; i <= n; i++) cout << ans[i] << " ";
}