11660. Кульки


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

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

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

У нас є \(N\) сумок. Сумка \(i\) містить \(L_i\) кульки. \(j\)-та куля (\(1 \leq j \leq L_i\)) у сумці \(i\) має написане на ній додатне ціле число \(a_{i,j}\).

З кожного пакета виберемо по одній кульці.

Скількома способами можна вибрати кульки, щоб добуток чисел, записаних на підібраних кульках, був \(X\)?

Тут ми розрізняємо всі кулі, навіть з однаковими числами, які написані на них.

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

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

Наступні  \(N\) рядків містять ціле число \(L_i\) та \(L_i\) цілих чисел \(a_{i,j}\) (\(1 \le a_i \le 10^9\)). Добуток кількості кульок у мішках дорівнює не більше \(10^5\) : \(\displaystyle\prod_{i=1}^{N}L_i \leq 10^5\).

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

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

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

Примітка

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

При виборі 3-ї кульки в сумці 1 і 1-ї в сумці 2 маємо \(a_{1,3} \times a_{2,1}\) = \(4 \times 10\) = 40

При виборі 2-ї кульки в сумці 1 і 2-ї кульки в сумці 2 маємо \(a_{1,2} \times a_{2,2}\) = \(8 \times 5\) = 40.

Інших способів отримати 40 немає.

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

2 40
3 1 8 4
2 10 5

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

2

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

3 200
3 10 10 10
3 10 10 10
5 2 2 2 2 2

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

45

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

3 1000000000000000000
2 1000000000 1000000000
2 1000000000 1000000000
2 1000000000 1000000000

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

0

Коментарі

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