AT_exawizards2019_d Modulo Operations
Description
[problemUrl]: https://atcoder.jp/contests/exawizards2019/tasks/exawizards2019_d
すぬけ君は黒板と $ N $ 個の整数からなる集合 $ S $ を持っています。 $ S $ の $ i $ 番目の要素は $ S_i $ です。
すぬけ君は黒板に整数 $ X $ を書いたのち、以下の操作を $ N $ 回行います。
- $ S $ から要素を $ 1 $ つ選んで取り除く。
- その後、現在黒板に書かれた数を $ x $、$ S $ から取り除かれた整数を $ y $ として、黒板に書かれた数を $ x\ \bmod\ {y} $ に書き換える。
$ S $ から要素を取り除く順序は $ N! $ 通りありえます。 それぞれの場合について、$ N $ 回の操作後に黒板に書かれている数を求め、その総和を $ 10^{9}+7 $ で割ったあまりを求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ X $ $ S_1 $ $ S_2 $ $ \ldots $ $ S_{N} $
Output Format
答えを出力せよ。
Explanation/Hint
### 制約
- 入力は全て整数である。
- $ 1\ \leq\ N\ \leq\ 200 $
- $ 1\ \leq\ S_i,\ X\ \leq\ 10^{5} $
- $ S_i $ たちは相異なる。
### Sample Explanation 1
\- $ S $ から数を取り除く順序は $ 2 $ 通りあります。 - $ 3,7 $ の順で取り除いたとき、黒板に書かれた数は $ 19\ \rightarrow\ 1\ \rightarrow\ 1 $ と変化します。 - $ 7,3 $ の順で取り除いたとき、黒板に書かれた数は $ 19\ \rightarrow\ 5\ \rightarrow\ 2 $ と変化します。 - これらの総和である $ 3 $ を出力してください。
### Sample Explanation 3
\- 総和を $ 10^{9}+7 $ で割ったあまりを求めるのを忘れずに。