CSES - Word Combinations
  • Time limit: 1.00 s
  • Memory limit: 512 MB
You are given a string of length $n$ and a dictionary containing $k$ words. In how many ways can you create the string using the words?

Input

The first input line has a string containing $n$ characters between a–z.

The second line has an integer $k$: the number of words in the dictionary.

Finally there are $k$ lines describing the words. Each word is unique and consists of characters a–z.

Output

Print the number of ways modulo $10^9+7$.

Constraints
  • $1 \le n \le 5000$
  • $1 \le k \le 10^5$
  • the total length of the words is at most $10^6$
Example

Input:
ababc
4
ab
abab
c
cb


Output:
2

Explanation: The possible ways are ab+ab+c and abab+c.