11677. Підпослідовності  кратних


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Author:
Problem type
Allowed languages
C++, Java, Pascal, Python

Дано натуральні числа \(N\), \(M\) та послідовність натуральних чисел \(D = (D_1, \dots, D_N)\).

Знайдіть кількість за модулем 998244353 послідовностей натуральних чисел \(A = (A_1, \dots, A_N)\), які задовольняють наступним умовам.

  • \(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\).

Формат вхідних даних

Перший рядок містить цілі числа \(N, M\) (\(2 \le N \le 16\), \(1 \le M \le 10^{18}\))

Наступний  рядок містить \(N\) цілих чисел \(D_i\) (\(1 \le D_i \le M\))

Числа у рядках розділяються пропуском.

Формат вихідних даних

У вихідний потік виведіть шукану кількість.

Примітка

До прикладу 1:

Три послідовності \(A\), які задовольняють умовам: (2, 3, 4), (2, 6, 4), (6, 3, 4).

Приклад вхідних даних

3 7
2 3 4

Приклад вихідних даних

3

Приклад вхідних даних

3 3
1 2 2

Приклад вихідних даних

0

Приклад вхідних даних

6 1000000000000000000
380214083 420492929 929717250 666796775 209977152 770361643

Приклад вихідних даних

325683519

Коментарі

Ще немає коментарів.