Строки Фибоначчи определяются следующим образом:
- f1 = «a»
- f2 = «b»
- fn = fn - 1 fn - 2, n > 2
Таким образом, первые пять строк Фибоначчи: «a», «b», «ba», «bab», «babba».
Вам дана строка Фибоначчи и m строк si. Для каждой строки si найдите, сколько раз она встречается в данной строке Фибоначчи в качестве подстроки.
Выходные данные
Для каждой строки si выведите, сколько раз она встречается в заданной строке Фибоначчи в качестве подстроки. Так как числа могут оказаться достаточно большими, выводите их остатки от деления на 1000000007 (109 + 7). Ответы для строк выводите в том порядке, в котором строки записаны во входных данных.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
6 5 a b ab ba aba
|
3
5
3
3
1
|