In the last div3 we had the most qualityful question of this century, an iterative problem where you just use rand and hope that God will listen to you. Thanks again.
void solve(){
ll n; cin>>n;
ll arr[3]={1,2,3};
srand(time(0));
while(true){
cout<<"? "<<arr[0]<<" "<<arr[1]<<" "<<arr[2]<<endl;
ll x; cin>>x;
if(x==0)break;
arr[rand()%3]=x;
}
cout<<"! "<<arr[0]<<" "<<arr[1]<<" "<<arr[2]<<endl;
}