Codeforces Round 265 (Div. 1)
C
Substitutes in Number
Codeforces
2100
原题
← BD →
翻译中…

Andrew and Eugene are playing a game. Initially, Andrew has string $*s*$, consisting of digits. Eugene sends Andrew multiple queries of type "$*d*_{*i*} → *t*_{*i*}$", that means "replace all digits $*d*_{*i*}$ in string $*s*$ with substrings equal to $*t*_{*i*}$". For example, if $*s* = 123123$, then query "$2 → 00$" transforms $*s*$ to $10031003$, and query "$3 →$" ("replace 3 by an empty string") transforms it to $*s* = 1212$. After all the queries Eugene asks Andrew to find the remainder after division of number with decimal representation equal to $*s*$ by $1000000007 (10^{9} + 7)$. When you represent $*s*$ as a decimal number, please ignore the leading zeroes; also if $*s*$ is an empty string, then it's assumed that the number equals to zero.

翻译中…

Andrew got tired of processing Eugene's requests manually and he asked you to write a program for that. Help him!

翻译中…

Input

翻译中…

The first line contains string $*s*$ ($1 ≤ |*s*| ≤ 10^{5}$), consisting of digits — the string before processing all the requests.

翻译中…

The second line contains a single integer $*n*$ ($0 ≤ *n* ≤ 10^{5}$) — the number of queries.

翻译中…

The next $*n*$ lines contain the descriptions of the queries. The $*i*$-th query is described by string "$*d*_{*i*}$->$*t*_{*i*}$", where $*d*_{*i*}$ is exactly one digit (from 0 to 9), $*t*_{*i*}$ is a string consisting of digits ($*t*_{*i*}$ can be an empty string). The sum of lengths of $*t*_{*i*}$ for all queries doesn't exceed $10^{5}$. The queries are written in the order in which they need to be performed.

翻译中…

Output

翻译中…

Print a single integer — remainder of division of the resulting number by $1000000007 (10^{9} + 7)$.

翻译中…

Note

翻译中…

Note that the leading zeroes are not removed from string $*s*$ after the replacement (you can see it in the third sample).

翻译中…

样例

Input #1
123123
1
2->00
Output #1
10031003
InputCopy OutputCopy
Input #2
123123
1
3->
Output #2
1212
InputCopy OutputCopy
Input #3
222
2
2->0
0->7
Output #3
777
InputCopy OutputCopy
Input #4
1000000008
0
Output #4
1
InputCopy OutputCopy
题目信息
题号
464C
时间限制
1 s
内存限制
256 MB
标签
动态规划

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