11660. Кульки
У нас є \(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
Коментарі