#include #include bool query(const std::set& xs, int ty) { if (xs.size() < 2) return false; std::cout << "?!"[ty] << " " << xs.size() << std::endl; for (auto x : xs) std::cout << x << " "; std::cout << std::endl; if (ty == 1) return true; bool res; std::cin >> res; return res; } void solve() { int n; std::cin >> n; std::set xs; for (int i = 1; i <= n; ++i) xs.insert(i); for (int i = 1; i <= n; ++i) { xs.erase(i); if (!query(xs, 0)) xs.insert(i); } query(xs, 1); } int main() { std::cin.tie(nullptr); std::ios::sync_with_stdio(false); solve(); return 0; }