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: Accepted)

using System;
using System.Collections.Generic;

namespace test
{
	class MainClass
	{
		public static void Main (string[] args)
		{
			Dictionary<string,int> dict = new Dictionary<string, int> ();
			dict.Add ("A", 0);
			dict.Add ("B", 1);
			dict.Add ("C", 2);

			bool[] cup = new bool[3];
			cup [0] = true;

			string input;
			while ((input = Console.ReadLine())!=null) {
				string[] array = input.Split (',');
				bool tmp = cup [dict[array[0]]];
				cup [dict[array[0]]] = cup [dict[array[1]]];
				cup [dict[array[1]]] = tmp;

			}

			for (int i=0; i<3; i++) {
				if (cup [i]) {
					switch (i) {
					case 0:
						Console.WriteLine ("A");
						break;
					case 1:
						Console.WriteLine ("B");
						break;
					case 2:
						Console.WriteLine ("C");
						break;
					}
				}
			}


		}

	}


}