import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.StringTokenizer; class Main { public static void main (String [] args) throws Exception { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); String s; while (!(s=br.readLine()).equals("#")) { LinkedList<Character> [] deck=new LinkedList [] {new LinkedList<Character>(), new LinkedList<Character>()}; //0 = dealer, 1 = player int pid=1; String [] lines= {s,br.readLine(),br.readLine(),br.readLine()}; for (String line : lines) { StringTokenizer st=new StringTokenizer(line); while (st.hasMoreTokens()) { deck[pid%2].addFirst(st.nextToken().charAt(1)); pid=(pid+1)%2; } } int [] faces=new int[128]; faces['A']=4; faces['J']=1; faces['Q']=2; faces['K']=3; LinkedList<Character> played=new LinkedList<>(); int winner=-1; int owe=0; pid=1; while (winner==-1) { //Round if (deck[pid].isEmpty()) { winner=(pid+1)%2; break; } if (owe>0) { while (owe>0 && !deck[pid].isEmpty()) { played.addFirst(deck[pid].pop()); owe--; if (faces[played.peek()]>0) break; } if (faces[played.peek()]>0) owe=faces[played.peek()]; else { if (owe==0) while (!played.isEmpty()) deck[(pid+1)%2].addLast(played.removeLast()); else { winner=(pid+1)%2; break; } } } else { played.addFirst(deck[pid].pop()); owe = faces[played.peek()]; } pid=(pid+1)%2; } StringBuilder sb=new StringBuilder(); sb.append(winner+1); int ansSize=deck[winner].size(); sb.append(' '); if (ansSize<10) sb.append(' '); sb.append(ansSize); System.out.println(sb.toString()); } } }