Problems
Ones
Ones
Рассмотрим всевозможные строки, состоящие из n символов – нулей и единиц (всего имеется 2n
таких строк). Нас интересуют те из них, в которых где-нибудь встречается отрезок из k подряд идущих единиц. Точнее, нас интересует количество таких строк. Это количество может быть довольно большим, поэтому следует выводить остаток от деления этого количества на 1000007
.
Input
Two positive integers n and k (1 ≤ n ≤ 100000, 1 ≤ k ≤ 100).
Output
Выведите остаток от деления на 1000007 количества строк, в которых встречается хотя бы один отрезок из k подряд идущих единиц.
Input example #1
3 2
Output example #1
3
Input example #2
5 1
Output example #2
31
Input example #3
7 10
Output example #3
0