#include using namespace std; #define rep(i, n) for (int i = 0; i < (n); ++i) using ll = long long; using ull = unsigned long long; inline int Query(const set& st) { if (st.size() == 1) return 0; cout << "? " << st.size() << '\n'; for (int x : st) cout << x + 1 << ' '; cout << endl; int x; cin >> x; return x; } int main() { int n; cin >> n; set st; rep(i, n) st.insert(i); rep(i, n) { st.erase(i); int x = Query(st); if (x == 0) st.insert(i); } cout << "! " << st.size() << '\n'; for (int x : st) cout << x + 1 << ' '; cout << endl; return 0; }