問題文
正整数 N,M および正整数列 D=(D1,dots,DN) が与えられます。
以下の条件を満たす正整数列 A=(A1,dots,AN) の総数を 998244353 で割った余りを求めてください。
- 1leqAileqM,(1leqileqN)
- AineqAj,(1leqiltjleqN)
- 各 i,(1leqileqN) について、Ai は Di の倍数
制約
- 2leqNleq16
- 1leqMleq1018
- 1leqDileqM,(1leqileqN)
- 入力は全て整数である。
入力
入力は以下の形式で標準入力から与えられる。
N M
D1 ldots DN
出力
答えを出力せよ。
入力例 1
3 7
2 3 4
出力例 1
3
条件を満たす A は (2,3,4),(2,6,4),(6,3,4) の 3 通りです。
入力例 2
3 3
1 2 2
出力例 2
0
条件を満たす A は存在しません。
入力例 3
6 1000000000000000000
380214083 420492929 929717250 666796775 209977152 770361643
出力例 3
325683519
998244353 で割った余りを求めることに注意してください。