#include #include using namespace std; using namespace atcoder; using ll=long long; using ld=long double; ld pie=3.141592653589793; ll inf=1444999999; ll mod=1000000007; int main(){ ll n; cin >> n; vectora,b; for (ll i = 0; i < n; i++) { a.push_back(i+1); } while (!a.empty()) { ll x=a.size(); x+=b.size(); if (x==2) { for (ll i = 0; i < a.size(); i++) { b.push_back(a[i]); } break; } cout << "? " << x-1 << endl; vectorc; for (ll i = 0; i < b.size(); i++) { c.push_back(b[i]); } ll aa=a.size(); for (ll i = 0; i < aa-1; i++) { c.push_back(a[i]); } sort(c.begin(),c.end()); for (ll i = 0; i < c.size(); i++) { cout << c[i] << ' '; } cout << endl; ll y; cin >> y; if (y==0) { b.push_back(a[a.size()-1]); a.pop_back(); }else{ a.pop_back(); } } cout << "! " << b.size() << endl; sort(b.begin(),b.end()); for (ll i = 0; i < b.size(); i++) { cout << b[i]<< ' '; } cout << endl; }