Hamed has recently found a string t and suddenly became quite fond of it. He spent several days trying to find all occurrences of t in other strings he had. Finally he became tired and started thinking about the following problem. Given a string s how many ways are there to extract k ≥ 1 non-overlapping substrings from it such that each of them contains string t as a substring? More formally, you need to calculate the number of ways to choose two sequences a _{1}, a _{2}, ..., a _{ k} and b _{1}, b _{2}, ..., b _{ k} satisfying the following requirements:
As the number of ways can be rather large print it modulo 10^{9} + 7.
Input consists of two lines containing strings s and t (1 ≤ |s|, |t| ≤ 10^{5}). Each string consists of lowercase Latin letters.
Print the answer in a single line.
ababa
aba
5
welcometoroundtwohundredandeightytwo
d
274201
ddd
d
12
Name |
---|