#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;
const int MAXN = 1e2 + 10;
int n, k, d;
int dp[MAXN][MAXN];
int main() {
  ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
  cin >> n >> k >> d;
  for (int ii = 1; ii <= 100; ii++) {
    dp[0][ii] = 1;
  }
  for (int ii = 1; ii <= 100; ii++) {
    for (int jj = 1; jj <= 100; jj++) {
      for (int kk = 1; kk <= min(ii, jj); kk++) {
        dp[ii][jj] = (dp[ii][jj] + dp[ii - kk][jj]) % MOD;
      }
    }
  }
  cout << (dp[n][k] - dp[n][d - 1] + MOD) % MOD;
}
