#include #include using namespace std; using namespace atcoder; #define rep(i, l, r) for (ll i = (l); i < (r); ++i) #define all(x) (x).begin(), (x).end() using ll = long long; using pl = pair; using vl = vector; using vvl = vector>; using vvvl = vector>>; using vvvvl = vector>>>; #pragma GCC target("avx2") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #include using mint=modint998244353; int main(){ ios::sync_with_stdio(false); std::cin.tie(nullptr); ll n; cin>>n; vl d(n); vl b(n); ll dsm=0; ll bsm=0; rep(i,0,n-1){ cout<<"? "<>a; a--; d[i]=a%n; b[i]=a/n; dsm+=d[i]; bsm+=b[i]; } d[n-1]=n*(n-1)/2-dsm; b[n-1]=n*(n-1)/2-bsm; vvl ans(n,vl(n)); rep(i,0,n){ rep(j,0,n){ ans[i][j]=d[i]+b[j]*n; } } ll u; cout<<"? "<<1<<" "<<2<>u; u--; cout<<"!"<