Problem:
カップゲーム

3 つのカップがふせて置かれています。カップの置かれている場所を、順に A,B,C と呼ぶことにします。最初は A に置かれているカップの中にボールが隠されているとします。カップの位置を入れ替えると、中に入っているボールも一緒に移動します。

入れ替える２つのカップの位置を読み込んで、最終的にどの場所のカップにボールが隠されているかを出力するプログラムを作成してください。

Input

入れ替える２つのカップの位置が順番に複数行にわたり与えられます。各行に、入れ替える２つのカップの位置を表す文字（A, B, または C）がカンマ区切りで与えられます。

入れ替える操作は 50 回を超えません。

Output

ボールが入っているカップの場所（A, B, または C）を１行に出力します。

Sample Input

B,C
A,C
C,B
A,B
C,B

Output for the Sample Input

A

Solution in C (judge verdict: Time Limit Exceeded)

#include<stdio.h>

int a[3]={1,0,0};

int ctoi(char c){
  return ((int)c)-65;
}

char itoc(int n){
  return (char)(n+65);
}

void judge(){
  char s[4];
  if(scanf("%s",s)!=EOF){
    int p=ctoi(s[0]);
    int q=ctoi(s[2]);
    int tmp=a[p];
    a[p]=a[q];
    a[q]=tmp;
    judge();
  }
  else{
    int f=0;
    int i=0;
    while((f==0)&&(i<3)){
      if(a[i]==1){
	printf("%c\n",itoc(i));
	f=1;
      }
    }
  }
}

int main(){
  judge();
  return 0;
}