n 人のプレイヤー P1, ..., Pn がこの順番で時計回りに座って,ババ抜きに似たカードゲームを行う.
このゲームでは,1 から n までの各番号が書かれたカードを 2 枚ずつ使う.最初に各プレイヤーはカードを 2 枚持っている.
まず,同じ番号のカードを 2 枚持っているプレイヤーは,それらのカードを場に捨てる.もし万一全員がカードを捨ててしまったら,ここでゲームは終了する.そうでなければ,ゲームが終了するまで,以下の動作を繰り返し行う.これ以降,プレイヤー p に対して,「次のプレイヤー」は,その時点でまだ手札が 1 枚以上残っているプレイヤーのうち,時計回りの方向で p から一番近い者を意味する.
- 次のようにプレイヤー p を選ぶ,
- 1 回目は P1 を選ぶ.ただし,P1 の手札が残っていなければ,P1 の次のプレイヤーを選ぶ.
- それ以降は,前の回で選ばれたプレイヤーの次のプレイヤーを選ぶ.
- p の次のプレイヤー p′ は,p の手札を見て,その中で最小の番号のカードを引く.
- p′ が同じ番号のカードを 2 枚持つようになった場合には,その 2 枚のカードを場に捨てる.この結果,すべてのプレイヤーのカードがなくなったら,ゲームは終了する.
図 B-1 は,Sample Input で 2 番目のデータセットにおける 3 人のプレイヤーの初期手札を示している.この直後に,P1 は手札の 2 枚のカードを捨てる.1 回目の p は P2 である.なぜならば,P1 の手札は空になっているからだ.
図 B-1: Sample Input の 2 番目のデータセットの初期手札
図 B-2 は,Sample Input の最後のデータセットで,以下の動作が終わった後の 5 人のプレイヤーの手札を示している.
- P1 がまず選ばれ,P1 の次のプレイヤー(すなわち P2)が P1 の手札の中から最小の番号 1 のカードを引く.この回の終わりに,P2 は 1, 3, 5 の番号の 3 枚のカードを持つ.
- P3, P4, P5 がこの順番に同じカード(最初は P1 の手札にあった番号 1 のカード)を引く.
- P5 が,同じ番号 1 のカード 2 枚を捨てる.
この後,P1 が P5 の手札から唯一残ったカードを引き,このカードと自分の手札の中の同じ番号 2 のカードを捨てる.次に手札を引かれるのは,P5 の次のプレイヤーであり,P1 の手札は空になっているので,それは P2 である.
図 B-2: Sample Input の最後のデータセットで,4 回目の動作の後の手札
同じプレイヤーが 2 回手札を引かれる間に,少なくとも 1 対のカードが捨てられるので,遅かれ早かれゲームは終わる.
ババ抜きとは異なり,最後にカードは残らない.
全プレイヤーの最初の手札が与えられた時,ゲームが終了するまでに何回カードが引かれるかを求めるプログラムを作成せよ.
入力は複数のデータセットからなり,各データセットは次の形式で表される.
n
c1,1 c1,2
⋮
cn,1 cn,2
n はプレイヤーの人数を表す.
n は,2 以上 1000 以下の整数である.
ci,1 と ci,2 は Pi の最初の手札の 2 枚のカードの番号である (1 ≤ i ≤ n).1 から n までの各整数が,c1,1, c1,2, ..., cn,1, cn,2 の中にちょうど 2 回ずつ現れる.
入力の終わりは,ゼロだけからなる行で表される.入力のサイズは 10000 行以下である.