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;
      }
    }
  }
  
  private void joaca(boolean computer) {
    int round = -1;
    while (true) {
      round++;
      if (computer) {
        int card = nextNumber();
        if (card < 7) {
          memory = card;
          break;
        }
        System.out.println(cd[--nr]);
      } else {
        if (round == 0) {
          System.out.println(cd[--nr]);
          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();
  }
}