#include "bits/stdc++.h" #define _CRT_SECURE_NO_WARNINGS #define rep(i,n) for(int i = 0;i < n;i++) #define REP(i,n,k) for(int i = n;i < k;i++) #define P(p) cout << (p) << endl; #define sP(p) cout << setprecision(15) << fixed << p << endl; #define Pi pair #define IINF 1e9 #define LINF 1e18 #define vi vector #define mp make_pair #define pb push_back using namespace std; typedef long long ll; typedef unsigned long long ull; int dx[] = { 0, 1 }; int dy[] = { 1, 0 }; unsigned long long sttoi(std::string str) { unsigned long long ret; std::stringstream ss; ss << str; ss >> ret; return ret; } ull gcd(ull a, ull b) { if (b > a)swap(a, b); if (b == 0) return a; return gcd(b, a%b); } int comb(int n, int k) { int ans = 1; for (int i = 0; i < min(k, n - k); i++) { ans *= n - i; ans /= i + 1; } return ans; } void solve() { int num[] = {0,0,0,0}; int xmax = 0, ymax = 0; rep(j, 4) { rep(i, 10) { num[j]++; bool flag = false; rep(k, 4) { if (j != k) { if (num[j] == num[k]) { flag = true; } } } if (!flag) { cout << num[0] << " " << num[1] << " " << num[2] << " " << num[3] << endl; fflush(stdout); int x, y; cin >> x >> y; if (x == 4 && y == 0) { return; } if (x > xmax) { xmax = x; break; } } } } } int main() { solve(); return 0; }