import java.util.Scanner; import java.util.*; public class prog { Scanner sc = new java.util.Scanner(System.in); private void solve() { // Greedy with no memory. for (int i = 0; i < 1000; i++) { match(); } } int[] cd = new int[4]; int nr = 0; int memory = -1; int nextNumber() { if (memory != - 1) { int sv = memory; memory = -1; return sv; } return sc.nextInt(); } private void match() { nr = 0; memory = -1; baga(4); joaca(true /* computer */); while (true) { int op = nextNumber(); int nr; switch (op) { case 2: nr = nextNumber(); baga(nr); joaca(true /* computer */); break; case 3: nr = nextNumber(); baga(nr); joaca(false /* computer */); break; case 4: int ignore = nextNumber(); ignore = nextNumber(); return; } } } int nrp(int care) { int count = 0; for (int i = 0; i < nr; i++) if (cd[i] == care || cd[i] == 7) { count++; } return count; } boolean punct(int c) { return c == 10 || c == 14; } void bagaPunct(int care) { for (int i = 0; i < nr; i++) { if (cd[i] == 7 || cd[i] == care) { System.out.println(cd[i]); nr--; cd[i] = cd[nr]; return; } } System.out.println(cd[--nr]); } void bagaNimic() { for (int i = 0; i < nr; i++) { if (!punct(cd[i])) { System.out.println(cd[i]); nr--; cd[i] = cd[nr]; return; } } System.out.println(cd[--nr]); } private void joaca(boolean computer) { int round = -1; while (true) { round++; if (computer) { int card = nextNumber(); if (card < 7) { memory = card; break; } if (punct(card)) { if (nr - nrp(card) >= 2) { bagaNimic(); } else { bagaPunct(card); } } else { bagaNimic(); } } else { if (round == 0) { bagaNimic(); int card = nextNumber(); } else { System.out.println(0); break; } } } } private void baga(int nnew) { for (int i = 0; i < nnew; i++) { cd[nr++] = nextNumber(); } } public static void main(final String[] args) { new prog().solve(); } }