#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 vi vector #define mp(a,b) make_pair(a,b) using namespace std;typedef long long ll;typedef unsigned long long ull;int dx[] = { 1, -1 , 0 , 0};int dy[] = { 0, 0, 1, -1}; void solve() { int a,x,y,first,last; vi v; cout << 0 << " " << 1 << " " << 2 << " " << 3 << endl; cin >> x >> y; first = x + y; if(x + y != 4){ REP(i,4,10){ cout << 0 << " " << 1 << " " << 2 << " " << i << endl; cin >> x >> y; if(x + y >= first)v.push_back(i); if(v.size()+first == 4)break; } } if(v.size() != 4){ v.push_back(0); v.push_back(1); v.push_back(2); v.push_back(3); } while(true){ do{ printf("%d %d %d %d\n",v[0],v[1],v[2],v[3]); cin >> x >> y; if(x == 4)return; if(x + y == 4){ vi ne; ne.push_back(v[0]); ne.push_back(v[1]); ne.push_back(v[2]); ne.push_back(v[3]); do{ printf("%d %d %d %d\n",ne[0],ne[1],ne[2],ne[3]); cin >> x >> y; if(x == 4)return; }while(next_permutation(ne.begin(),ne.end())); } }while(next_permutation(v.begin(),v.end())); } } int main() { solve(); return 0; }