N, K = map(int, input().split()) dp = [[0]*(K+1) for _ in range(N+1)] dp[1][0] = 1 MOD = 10**9+7 for i in range(2, N+1): acc = [0] for j in range(K+1): acc.append((acc[-1]+dp[i-1][j])%MOD) for j in range(K+1): dp[i][j] = (acc[j+1]-acc[max(0, j-(i-1))])%MOD print(sum(dp[N][:K+1])%MOD)