#include #include #include using namespace std; int main(){ int n;cin>>n; vector ans; for(int i = 1; n-i+ans.size() > 1 && n >= i; i++){ cout << "? " << n-i+ans.size() << endl; for(int j = 0; ans.size() > j; j++){ cout << ans[j]; if(j+1 != ans.size()+n-i)cout << " "; } for(int j = i; n > j; j++){ cout << j+1; if(j+1 != n)cout << " "; } cout << endl; int z;cin>>z; if(z == 0){ ans.push_back(i); } } if(ans.size() == 0){ ans.push_back(n-1); ans.push_back(n); }else if(ans.size() == 1){ cout << "? 2" << endl; cout << ans[0] << " " << n-1 << endl; int z;cin>>z; if(z == 0){ cout << "? 2" << endl; cout << ans[0] << " " << n << endl; cin>>z; if(z == 0){ ans.push_back(n-1); ans.push_back(n); }else{ ans.push_back(n); } }else{ ans.push_back(n-1); } }else{ } sort(ans.begin(),ans.end()); cout << "! " << ans.size() << endl; for(int i = 0; ans.size() > i; i++){ cout << ans[i]; if(i+1 != i)cout << " "; } cout << endl; }