#4425. K-bonacci

K-bonacci

问题描述

给定两个正整数 NNKK,定义一个长度为 N+1N + 1 的序列 A=(A0,A1,,AN)A = (A_0, A_1, \dots, A_N),规则如下:

  • 0i<K0 \leq i < K 时,Ai=1A_i = 1
  • KiK \leq i 时,Ai=AiK+AiK+1++Ai1A_i = A_{i-K} + A_{i-K+1} + \dots + A_{i-1}

ANA_N10910^9 取模的结果。

约束条件

1N,K1061 \leq N, K \leq 10^6

所有输入值均为整数。

输入

输入从标准输入以以下格式给出:

NN
KK

输出

输出答案。

样例输入 1

4 2

样例输出 1

5

解释:A0=A1=1A_0 = A_1 = 1A2=A0+A1=2A_2 = A_0 + A_1 = 2A3=A1+A2=3A_3 = A_1 + A_2 = 3A4=A2+A3=5A_4 = A_2 + A_3 = 5

样例输入 2

10 20 复制

样例输出 2

1

样例输入 3

1000000 500000

样例输出 3

420890625

注意:输出 ANA_N10910^9 取模的结果。