n,d,k = map(int, input().split()) dp = [[0 for _ in range(k+5)] for _ in range(n+1)] dp[0][0]=1 mod=10**9+7 for i in range(n): imos=[0]*(k+5) for j in range(k): imos[j+1]+=dp[i][j] mxind = min(j+d+1,k+4) imos[mxind]-=dp[i][j] for j in range(len(imos)-1): imos[j+1]+=imos[j] imos[j+1]%=mod dp[i+1]=imos print(dp[-1][k]%mod)