In the last div3 we had the most qualitative 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;
}