#J20009. K-bonacci

K-bonacci

问题描述

给定正整数 NNKK。按以下规则定义长度为 N+1N+1 的数列 A=(A0,A1,,AN)A = (A_0, A_1, \ldots, A_N)

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

请计算 ANA_N10910^9 取模后的结果。

输入格式

一行,包含两个整数 NNKK

输出格式

一个整数,即 ANmod109A_N \bmod 10^9

样例输入 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

说明K=20>10K = 20 > 10,所以 A0=A1==A10=1A_0 = A_1 = \ldots = A_{10} = 1

样例输入 3

1000000 500000

样例输出 3

420890625

评测数据规模

对于所有数据,保证 1N,K1061 \le N, K \le 10^6