#include using namespace std; int main(){ int n; cin>>n; auto query=[&](vector a){ cout<<"?"; for (int i=0;i>x; assert(x>=0); return x; }; int p=-1,q=-1; { for (int i=0;i a(n); a[i]=1; int x=query(a); if (x==1) p=i; else assert(x==2); } assert(p!=-1); for (int i=0;i a(n); a[i]=-1; int x=query(a); if (x==1) q=i; else assert(x==2); } assert(q!=-1); } vector vec(n,-1); iota(vec.begin(),vec.end(),0); auto cmp=[&](int i,int j){//i a(n); a[i]=1; a[j]=2; return query(a)==3; }; auto rec=[&](auto rec,int l,int r)-> void { if (r-l<=1) return; int mid=(l+r)/2; rec(rec,l,mid); rec(rec,mid,r); vector b; int l1=l,l2=mid; while (l1