import java.util.*; public class Exercise67{ public static void main (String[] args){ Scanner sc = new Scanner(System.in); int[] q = {3, 2, 1, 0}; whole: while(true){ System.out.println(q[0] + " " + q[1] + " " + q[2] + " " + q[3]); System.out.flush(); int p = sc.nextInt(); int h = sc.nextInt(); if (p == 4){ break whole; }else if (p + h == 4){ while(true){ q = shuffleArray(q); System.out.println(q[0] + " " + q[1] + " " + q[2] + " " + q[3]); System.out.flush(); int px = sc.nextInt(); int hx = sc.nextInt(); if (px == 4){ break whole; } } } for (int i = 0; i < 4; i++){ eachNum: for (int j = 0; j < 10; j++){ if (checkMN(plus(q[i]), q)){ q[i] = plus(q[i]); continue; }else{ q[i] = plus(q[i]); System.out.println(q[0] + " " + q[1] + " " + q[2] + " " + q[3]); System.out.flush(); int pd = sc.nextInt(); int hd = sc.nextInt(); if (pd == 4){ break whole; }else if(p + 1 == pd){ p = pd; break eachNum; }else if(p - 1 == pd){ if (q[i] > 0){ q[i]--; break eachNum; }else{ q[i] = 9; break eachNum; } }else if (pd + hd == 4){ while(true){ q = shuffleArray(q); System.out.println(q[0] + " " + q[1] + " " + q[2] + " " + q[3]); System.out.flush(); int px = sc.nextInt(); int hx = sc.nextInt(); if (px == 4){ break whole; } } } } } } } } private static boolean checkMN(int num, int[] array){ boolean flag = false; for (int i = 0; i < 4; i++){ if (num == array[i]){ flag = true; } } return flag; } private static int plus(int num){ if (num < 9){ num++; }else{ num = 0; } return num; } private static int[] shuffleArray(int[] array){ ArrayList list = new ArrayList(); for(int i = 0; i < 4; i++){ list.add(array[i]); } Collections.shuffle(list); for(int i = 0; i < 4; i++){ array[i] = list.get(i); } return array; } }