#arc134e. [arc134_e]Modulo Nim
[arc134_e]Modulo Nim
問題文
すぬけ君は何も書かれていない黒板を見つけました。
すぬけ君が 回黒板に操作をします。 回目の操作では黒板に 以上 以下の整数を選んで書き込みます。
黒板に 個の整数が書き込まれたあと、先手太郎君と後手次郎君がこの黒板を使ったゲームで遊ぶ予定です。 ゲームでは先手太郎君から始めて、交互に以下の操作を行います。
- 黒板に書かれている最大の整数を とする。
- のとき、手番のプレイヤーの勝ちとしてゲームを終了する。
- 以上 以下の整数を選ぶ(これを とする)。
- 黒板に書かれている 個の整数をそれぞれ で割ったあまりに置き換える。
すぬけ君の書き込み方は 通りありえますが、そのうち 人が最適に行動したときに勝つのが先手太郎君であるような書き込み方の個数を で割ったあまりを求めてください。
制約
- 与えられる入力は全て整数
入力
入力は以下の形式で標準入力から与えられる。
出力
人が最適に行動したときに勝つのが先手太郎君であるような書き込み方の個数を で割ったあまりを出力せよ。
入力例 1
1
3
出力例 1
1
- 先手太郎君が勝つのはすぬけ君が を書き込んだ場合に限られます。
- それ以外の場合、先手太郎君は黒板に書かれている整数が になるように手を打つしかありません。
入力例 2
2
5 10
出力例 2
47
入力例 3
20
200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200 200
出力例 3
273710435
- で割ったあまりを求めるのを忘れずに。