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
a1,a2,...,ak and
b1,b2,...,bk satisfying the following requirements:
-
k≥1
-
-
-
-
t is a substring of string saisai+1... sbi (string s is considered as 1-indexed).
As the number of ways can be rather large print it modulo
109+7.