# coding: utf-8 # Your code here! N,d,K=map(int,input().split()) dp=[[0]*(K+1) for i in range(N+1)] dp[0][0]=1 for i in range(N): for j in range(K+1): for p in range(d): if j-p-1>=0: dp[i+1][j]+=dp[i][j-p-1] print(dp[-1][-1]%(10**9+7)) #print(dp)