問題文

正整数 NN, MM, DD が与えられます。 ただし、DD100100 以上 MM 未満かつ、MM の約数です。

次のような条件を満たす、長さ NN の数列は何通りあるでしょう?

  • 数列の各要素は 11 以上 M1M - 1 以下かつ、DD でない整数である
  • 数列の要素の総和は MM の倍数である

答えを 109+710^9 + 7 で割った余りを出力してください。

制約

  • 1N10181\leq N\leq 10^{18}
  • 200M10000200\leq M\leq 10000
  • 100D<M100\leq D < M
  • MM100100 以上 MM 未満の約数を 11 つ以上持つ
  • DDMM の約数である
  • 入力はすべて整数である

入力

入力はすべて整数である。

N M DN\ M\ D

出力

計算結果を一行に出力せよ。

サンプル

入力1
1 314 157
出力2
0

N=1N = 1 の場合は条件を満たす数列は存在しません。

入力2
2 200 100
出力2
198

1i1991\leq i\leq 199 かつ i100i\neq 100 を満たす ii を使って (i,200i)(i, 200 - i) と書くことができる数列だけが考えられます。

入力3
998244353998244353 9982 161
出力3
936931417

提出


Go (1.21)