H. Hell or paradise?
time limit per test
2 seconds
memory limit per test
512 megabytes
input
standard input
output
standard output

Gabimaru is an assassin who has just been sent to find the elixir of life on an island that appears to be a Buddhist paradise. Unfortunately, during his first few hours on the island, he encounters monsters that make him realize that the island is actually hell. One characteristic of these monsters is that they have a string tattooed on their bodies.

After spending some time on the island, Gabimaru encounters a criminal who seems to have more information about the whereabouts of the elixir of life. As you can imagine, the criminal won't give this information to Gabimaru for free. Instead, he will give it to him in exchange for doing the following:

First, the criminal hands Gabimaru a sheet containing a list of words. Gabimaru must then kill one monster and divide the tattooed part of the monster's body into pieces in a way that each piece forms a word from the list provided by the criminal.

Gabimaru, not wanting to be bored during his mission, is now curious about the number of different ways he can successfully complete this task.

Input

The first line consists of an integer $$$N$$$ (1 $$$\leq$$$ $$$N$$$ $$$\leq$$$ $$$10^5$$$), which is the number of words in the criminal's list.

The following $$$N$$$ lines cointain the words in the criminal's list. One word per line ( 1 $$$\leq$$$ |word| $$$\leq$$$ $$$10^5$$$). The sum of lenghts of the $$$N$$$ words is at most $$$2*10^5$$$

The last line contains a string $$$S$$$ (1 $$$\leq$$$ $$$|S|$$$ $$$\leq$$$ $$$10^5$$$), the string tattoed in the monster.

Every given string in the input consist of lowercase letters.

Output

Print the result modulo $$$10^9+7$$$

Examples
Input
5
buda
tao
bud
at
ao
budatao
Output
2
Input
2
a
aa
aaaa
Output
5