AT_abc236_h [ABC236Ex] Distinct Multiples
Description
[problemUrl]: https://atcoder.jp/contests/abc236/tasks/abc236_h
正整数 $ N,\ M $ および正整数列 $ D\ =\ (D_1,\ \dots,\ D_N) $ が与えられます。
以下の条件を満たす正整数列 $ A\ =\ (A_1,\ \dots,\ A_N) $ の総数を $ 998244353 $ で割った余りを求めてください。
- $ 1\ \leq\ A_i\ \leq\ M\ \,\ (1\ \leq\ i\ \leq\ N) $
- $ A_i\ \neq\ A_j\ \,\ (1\ \leq\ i\ \lt\ j\ \leq\ N) $
- 各 $ i\ \,\ (1\ \leq\ i\ \leq\ N) $ について、$ A_i $ は $ D_i $ の倍数
Input Format
N/A
Output Format
N/A
Explanation/Hint
### 制約
- $ 2\ \leq\ N\ \leq\ 16 $
- $ 1\ \leq\ M\ \leq\ 10^{18} $
- $ 1\ \leq\ D_i\ \leq\ M\ \,\ (1\ \leq\ i\ \leq\ N) $
- 入力は全て整数である。
### Sample Explanation 1
条件を満たす $ A $ は $ (2,\ 3,\ 4),\ (2,\ 6,\ 4),\ (6,\ 3,\ 4) $ の $ 3 $ 通りです。
### Sample Explanation 2
条件を満たす $ A $ は存在しません。
### Sample Explanation 3
$ 998244353 $ で割った余りを求めることに注意してください。