#include <bits/stdc++.h>
#define int long long
#define REP(i,a,b) for(int i = a; i<b; i++)
#define RREP(i,a,b) for(int i = a; i>b; i--)
using namespace std;
int32_t main(){
int n,jk,j,k;
cin>>n;
cout<<"? "<<1<<' '<<2<<endl;
j = 0;
k = 1;
cin>>jk;
vector<int> res(n);
REP(i,2,n){
int ij, ik;
cout<<"? "<<i+1<<' '<<j+1<<endl;
cin>>ij;
cout<<"? "<<i+1<<' '<<k+1<<endl;
cin>>ik;
if(ij == ik) res[i] = ij;
else if(ij == jk){
res[j] = ij;
j = i;
jk = ik;
}
else{
res[k] = ik;
k = i;
jk = ij;
}
}
res[j] = res[k] = jk;
cout<<"! ";
REP(i,0,n) cout<<res[i]<<' ';
cout<<endl;
}