题目描述
N 個の袋があります。
袋 i には Li 個のボールが入っていて、袋 i の j(1≤ j≤ Li) 番目のボールには正の整数 ai,j が書かれています。
それぞれの袋から 1 つずつボールを取り出します。
取り出したボールに書かれた数の総積が X になるような取り出し方は何通りありますか?
ただし、書かれた数が同じであっても全てのボールは区別します。
输入格式
入力は以下の形式で標準入力から与えられる。
N X L1 a1,1 a1,2 … a1,L1 L2 a2,1 a2,2 … a2,L2 ⋮ LN aN,1 aN,2 … aN,LN
输出格式
答えを出力せよ。
题目大意
有 n 个袋子,第 i 个袋子里装着 li 个小球,其中第 j 个小球上写的数是 ai,j 。现在从每个袋子中各取出 1 个小球,问使所有取出的小球的乘积为 x 的取球方案有多少种?请注意,即使有若干个小球上写的数字是相同的,它们本质上也是不一样的。因此,它们算不同的取法。
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
提示
制約
- N ≥ 2
- Li ≥ 2
- 袋に入っているボールの個数の総積は 105 を超えない。すなわち、i=1∏NLi ≤ 105
- 1 ≤ ai,j ≤ 109
- 1 ≤ X ≤ 1018
- 入力に含まれる値は全て整数である。
Sample Explanation 1
袋 1 の 3 番目のボールと袋 2 の 1 番目のボールを選ぶと、a1,3 × a2,1 = 4 × 10 = 40 となります。 袋 1 の 2 番目のボールと袋 2 の 2 番目のボールを選ぶと、a1,2 × a2,2 = 8 × 5 = 40 となります。 これ以外に総積が 40 になる取り出し方は存在しないので、答えは 2 です。
Sample Explanation 2
書かれた数が同じであっても全てのボールは区別することに注意してください。
Sample Explanation 3
総積が X になる取り出し方が 1 つも存在しないこともあります。