#codefestival2018qualac. [code_festival_2018_quala_c]半分
[code_festival_2018_quala_c]半分
問題文
長さ の整数列 が与えられます。 この数列に以下の操作をちょうど 回施します。
- 添字 () を一つ選ぶ。 を で割る。ただし商は整数単位で計算し、あまりは切り捨てる。
回の操作のあとの数列としてありうるものの個数を で割ったあまりを求めてください。
制約
- ()
- 入力値はすべて整数である。
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを出力せよ。
入力例 1
3 2
0 3 4
出力例 1
6
はじめ、数列 は A = \[0, 3, 4\] です。 回の操作のあとの数列としてありうるものとしては、\[0, 3, 4\] や \[0, 1, 2\] などがあります。
数列 \[0, 3, 4\] は以下のようにして実現できます。
- を選ぶ。数列は \[0, 3, 4\] となる。
- を選ぶ。数列は \[0, 3, 4\] となる。
また、数列 \[0, 1, 2\] はたとえば以下のようにして実現できます。
- を選ぶ。数列は \[0, 1, 4\] となる。
- を選ぶ。数列は \[0, 1, 2\] となる。
入力例 2
3 100
1 1 1
出力例 2
7
入力例 3
5 7
10 12 15 20 30
出力例 3
330
入力例 4
7 1000000000
100261694256177806 55017793609323647 50568971510512136 98912633370372323 51937770757669401 50688484559490819 108712166294779912
出力例 4
322647718