CSES - HIIT Open 2019 - Bit Strings
  • Time limit: 1.00 s
  • Memory limit: 512 MB

Your task is to calculate the number of bit strings of length nn where each substring of length kk contains at least one 1.

Input

The only input line has two integers: nn and kk.

Output

Print one integer: the answer modulo 109+710^9+7.

Constraints

  • 1kn1061 \le k \le n \le 10^6

Example

Input:

3 2

Output:

5

Explanation: The valid strings are 010, 011, 101, 110 and 111.