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
Коментарі