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;
using System.Linq;
using System.Text;

namespace AOJ
{
	class Program
	{
		static void Main(string[] args)
		{
			var cup = new bool[3] { true, false, false };
			string s = "";
			while ((s = Console.ReadLine()) != null)
			{
				int a = s[0] - 'A';
				int b = s[2] - 'A';
				Swap(ref cup[a], ref cup[b]);
			}
			Console.WriteLine((char)('A' + Array.IndexOf(cup, true)));
		}

		static void Swap<T>(ref T a1, ref T a2)
		{
			T temp;
			temp = a1;
			a1 = a2;
			a2 = temp;
		}
	}
}