#agc035e. [agc035_e]Develop
[agc035_e]Develop
問題文
黒板に から までの整数が 個ずつ書かれています。高橋君は、以下の一連の操作を 回以上好きなだけ繰り返します。
- 黒板に書かれている整数のうち 以上 以下のものをひとつ選ぶ。選んだ整数を とし、 を黒板から消す。
- 黒板に が書かれていないなら、 を書き加える。
- 黒板に が書かれていないなら、 を書き加える。
何回かの操作後、黒板に書かれている数の集合としてありうるものの個数を で割った余りを求めてください。 ただし、 つの集合が異なるとは、その片方だけに現れるような整数が存在することを指します。
制約
- は整数である
入力
入力は以下の形式で標準入力から与えられる。
出力
何回かの操作後、黒板に書かれている数の集合としてありうるものの個数を で割った余りを出力せよ。
入力例 1
3 1 998244353
出力例 1
7
以下または 以上の整数すべてと、 のうちの つ以上を含むような集合すべてが条件を満たし、これは 通りあります。
入力例 2
6 3 998244353
出力例 2
61
入力例 3
9 4 702443618
出力例 3
312
入力例 4
17 7 208992811
出力例 4
128832
入力例 5
123 45 678901234
出力例 5
256109226