Codeforces Round 248 (Div. 2)
E
Tachibana Kanade's Tofu
Codeforces
2500
原题
← D→
翻译中…

Tachibana Kanade likes Mapo Tofu very much. One day, the canteen cooked all kinds of tofu to sell, but not all tofu is Mapo Tofu, only those spicy enough can be called Mapo Tofu.

翻译中…

Each piece of tofu in the canteen is given a $*m*$-based number, all numbers are in the range $[*l*, *r*]$ ($*l*$ and $*r*$ being $*m*$-based numbers), and for every $*m*$-based integer in the range $[*l*, *r*]$, there exists a piece of tofu with that number.

翻译中…

To judge what tofu is Mapo Tofu, Tachibana Kanade chose $*n*$ $*m*$-based number strings, and assigned a value to each string. If a string appears in the number of a tofu, the value of the string will be added to the value of that tofu. If a string appears multiple times, then the value is also added that many times. Initially the value of each tofu is zero.

翻译中…

Tachibana Kanade considers tofu with values no more than $*k*$ to be Mapo Tofu. So now Tachibana Kanade wants to know, how many pieces of tofu are Mapo Tofu?

翻译中…

Input

翻译中…

The first line contains three integers $*n*$, $*m*$ and $*k* (1 ≤ *n* ≤ 200; 2 ≤ *m* ≤ 20; 1 ≤ *k* ≤ 500)$. Where $*n*$ denotes the number of strings, $*m*$ denotes the base used, and $*k*$ denotes the limit of the value for Mapo Tofu.

翻译中…

The second line represents the number $*l*$. The first integer in the line is $*len*$ $(1 ≤ *len* ≤ 200)$, describing the length (number of digits in base $*m*$) of $*l*$. Then follow $*len*$ integers $*a*_{1}, *a*_{2}, ..., *a*_{*len*} (0 ≤ *a*_{*i*} < *m*; *a*_{1} > 0)$ separated by spaces, representing the digits of $*l*$, with $*a*_{1}$ being the highest digit and $*a*_{*len*}$ being the lowest digit.

翻译中…

The third line represents the number $*r*$ in the same format as $*l*$. It is guaranteed that $1 ≤ *l* ≤ *r*$.

翻译中…

Then follow $*n*$ lines, each line describing a number string. The $*i*$-th line contains the $*i*$-th number string and $*v*_{*i*}$ — the value of the $*i*$-th string ($1 ≤ *v*_{*i*} ≤ 200$). All number strings are described in almost the same format as $*l*$, the only difference is number strings may contain necessary leading zeros (see the first example). The sum of the lengths of all number strings does not exceed $200$.

翻译中…

Output

翻译中…

Output the number of pieces of Mapo Tofu modulo $1000000007$ $(10^{9} + 7)$. The answer should be a decimal integer.

翻译中…

Note

翻译中…

In the first sample, 10, 11 and 100 are the only three decimal numbers in $[1, 100]$ with a value greater than 1. Here the value of 1 is 1 but not 2, since numbers cannot contain leading zeros and thus cannot be written as "01".

翻译中…

In the second sample, no numbers in the given interval have a value greater than 12.

翻译中…

In the third sample, 110000 and 110001 are the only two binary numbers in the given interval with a value no greater than 6.

翻译中…

样例

Input #1
2 10 1
1 1
3 1 0 0
1 1 1
1 0 1
Output #1
97
InputCopy OutputCopy
Input #2
2 10 12
2 5 9
6 6 3 5 4 9 7
2 0 6 1
3 6 7 2 1
Output #2
635439
InputCopy OutputCopy
Input #3
4 2 6
6 1 0 1 1 1 0
6 1 1 0 1 0 0
1 1 2
3 0 1 0 5
4 0 1 1 0 4
3 1 0 1 2
Output #3
2
InputCopy OutputCopy
题目信息
题号
433E
时间限制
5 s
内存限制
512 MB
标签
动态规划

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。