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 $ で割った余りを求めることに注意してください。