Единицы

Input file:  ROW1.IN    
Output file: ROW1.OUT    Time limit: 1.5 sec.

Рассмотрим всевозможные строки, состоящие из N символов – нулей и единиц (всего имеется 2N таких строк). Нас интересуют те из них, в которых где-нибудь встречается отрезок из К подряд идущих единиц. Точнее, нас интересует количество таких строк. Это количество может быть довольно большим, поэтому следует выводить остаток от деления этого количества на 1000007.
Входные данные. В единственной строке входных данных находятся 2 натуральных числа, разделённых пробелом: N и K, 1<=N<=100000, 1<=K<=100. 

Выходные данные. В единственной строке выходных данных должно находиться одно целое неотрицательное число – остаток от деления на 1000007 количества строк, в которых встречается хотя бы один отрезок из К подряд идущих единиц.

Примеры
	
ROW1.IN	ROW1.OUT	Примечание	
3 2	3	Строки: 011, 110, 111	

ROW1.IN	ROW1.OUT	Примечание	
5 1	31	Все строки длины 5, кроме 00000	

ROW1.IN	ROW1.OUT		
7 10	0