Problem:
じゃんけん

仲良し 5 人組でじゃんけんをすることになりました。じゃんけんとは、グー、チョキ、パーという 3つの手があり、グーとチョキの勝負ならグーが「勝ち」・チョキが「負け」、チョキとパーなら、チョキが「勝ち」・パーが「負け」、パーとグーならパーが「勝ち」・グーが「負け」というルールです。全員が同じ手、またはグー、チョキ、パー全てが出た場合は「あいこ」となります。

5 人のじゃんけんの手を入力とし、それぞれの人の勝敗を出力するプログラムを作成してください。じゃんけんの手は、グーは 1、チョキは 2、パーは 3 の数字で表します。勝敗は「勝ち」を 1、「負け」を 2、「あいこ」を 3 の数字で表し、入力順に従って出力します。

Input

複数のデータセットの並びが入力として与えられます。入力の終わりはゼロひとつの行で示されます。
各データセットは以下の形式で与えられます。

h1
h2
h3
h4
h5

i 行目に i 人目の手 hi (1, 2 または 3) が与えられます。

データセットの数は 200 を超えません。

Output

入力データセットごとに、5 人の勝敗を出力します。i 行目に i 人目の勝敗(1, 2 または 3) を出力してください。

Sample Input

1
2
3
2
1
1
2
2
2
1
0

Output for the Sample Input

3
3
3
3
3
1
2
2
2
1

Solution in JAVA (judge verdict: Wrong Answer)


//-- ±±©çRsy

import java.io.*;

public class Main {

	//@0205 Rock, Paper, Scissors
	public static void main(String[] args) throws IOException {
		
		BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
//		String data = "1\n"+
//		BufferedReader reader = new BufferedReader(new StringReader(data));

		loo:
		for(int loop = 0;;loop++) {
			
			int[] t = new int[5];
			
			int c1 = 0;
			int c2 = 0;
			int c3 = 0;
			
			for(int i = 0; i < 5; i++) {
				String s = reader.readLine();
				t[i] = Integer.parseInt(s);
				if (t[i] == 0)
					break loo;
				if (t[i] == 1)
					c1++;
				else if (t[i] == 2)
					c2++;
				else
					c3++;
			}
			
			int res = 0;
			if (c1 == 5 || c2 == 5 || c3 == 5) {
				res = -1; //  ¢±
			}
			if (c1 != 0 && c2 != 0 && c3 != 0) {
				res = -1; //  ¢±
			}
			else if (c1 == 0) {
				res = 2; // 1®[ªÈ¢ÌÅ2¿å«ª©¿
			}
			else if (c2 == 0) {
				res = 3;
			}
			else {
				res = 1;
			}

			for(int i = 0; i < 5; i++) {
				if (res == -1)
					System.out.printf("3\n"); //  ¢±
				else if (t[i] == res) {
					System.out.printf("1\n");
				}
				else {
					System.out.printf("2\n");
				}
			}
		}
		
		reader.close();
	}
}