A transmitter sends a frame of n bits, each bit LOW (0) or HIGH (1). To avoid overheating, the frame must never contain a run of k or more consecutive HIGH bits. Count how many distinct frames of length n satisfy this rule. Report the count modulo 1000000007.
Input format
A single line with two integers n and k.
Output format
A single integer: the number of valid frames, modulo 1000000007.
Constraints
- 1 <= n <= 18
- 1 <= k <= 20