#include #include #include #include int query(const std::vector& xs) { for (auto x : xs) std::cout << x << " "; std::cout << std::endl; int a, b; std::cin >> a >> b; if (a == 4) std::exit(0); return a + b; } void solve() { std::vector xs; std::vector ys(4); int min; std::iota(ys.begin(), ys.end(), 0); min = 4; for (int d = 4; d <= 9; ++d) { ys.back() = d; min = std::min(min, query(ys)); } for (int d = 4; d <= 9; ++d) { ys.back() = d; if (query(ys) > min) xs.push_back(d); } std::iota(ys.begin(), ys.end(), 6); min = 4; for (int d = 0; d < 6; ++d) { ys.front() = d; min = std::min(min, query(ys)); } for (int d = 0; d < 6; ++d) { ys.front() = d; if (query(ys) > min) xs.push_back(d); } std::sort(xs.begin(), xs.end()); xs.erase(std::unique(xs.begin(), xs.end()), xs.end()); do { query(xs); } while (std::next_permutation(xs.begin(), xs.end())); } int main() { std::cin.tie(nullptr); std::ios::sync_with_stdio(false); solve(); return 0; }