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 ConsoleApplication40
{
    class Program
    {
        static void Main()
        {
            bool[] a = { true, false, false };bool b;
            while (true)
            {
                string c = Console.ReadLine();
                if (c == null) break;
                string[] d = c.Split(',');
                Array.Sort(d);
                if (d[0] == "A")
                {
                    if (d[1] == "B") { b = a[0];a[0] = a[1];a[1] = b; }
                    else { b = a[0]; a[0] = a[2]; a[2] = b; }
                }
                else { b = a[1]; a[1] = a[2]; a[2] = b; }
            }
                 for(int u = 0; u < 3; u++)
            {
                if (a[u]) switch (u) {
                        case 0:Console.WriteLine("A"); break;
                        case 1: Console.WriteLine("B"); break;
                        case 2: Console.WriteLine("C"); break;
                    }

            }
        }
    }
}