001 - 次期町長
時間制限 1 秒 / メモリ制限 64 MB / 得点 10 / x 1 /
問題
芸無町の奇妙な風習のひとつは,次期町長の選出までもがゲームの結果によることだろう. 町長の任期満了が近づいてくると,現職の町長を含む少なくとも3人の候補者が小石のゲームを競い,勝者が次期町長となる.
小石のゲームのルールは次の通りである. 以下で,nは候補者の人数である.
- 使うもの
- 円卓と碗と十分な個数の小石.
- ゲームの開始
- 最初に碗に入れるのは管理委員会が秘密の確率的手段で決めた数の小石である. 0からn-1と番号を振った全候補者は,反時計回りの番号順に円卓を囲んで座る. 碗はまず現職の町長 (候補者0) に渡す.
- ゲームのステップ
- 碗を渡された候補者は,碗に小石が入っている場合は,そのうち1個を取り(すでに持っている小石があればそれらと共に)手許に置く. 碗が空の場合は,手許に小石があればその全部を碗に入れる. どちらの場合も,その後で碗を右隣の候補者に渡す. 勝者が決まるまでこのステップを繰り返す.
- ゲームの終了
- ある候補者が碗に残った最後の小石を取り出したとき,他のどの候補者の手元にも小石がなければ,ゲームは終わりで,全部の小石を持っているその候補者が勝者となる.
芸無高校の数学教員の解析によると,このゲームは必ず有限のステップで終わるが,必要なステップ数は非常に多くなることもある.
Input
入力はデータセットの並びである. 各データセットは一文字の空白で分けられたふたつの整数 n とp からなる一行である. 整数 n は現町長を含む候補者の人数であり,整数 p は最初に碗に入れる小石の総数である. 3 ? n ? 50, 2 ? p ? 50 である.
入力データセットに含まれる設定では,ゲームは1000000(百万)ステップ以内に終了する.
入力の終わりは,ふたつの0が一文字の空白で区切られる一行で示される.
Output
出力は,入力の各データセットの表すゲームの勝者の候補者番号を示す整数ひとつからなる行を,入力データセットの順序どおりにならべたものである. それ以外の文字が出力にあってはならない.
Sample Input/Output
Sample Input
3 2 3 3 3 50 10 29 31 32 50 2 50 50 0 0
Output for the Sample Input
1 0 1 5 30 1 13