#include <bits/stdc++.h>
using namespace std;
long long int dp[105][2];
int n, k, d;
long long int mod = 1e9 + 7;
long long int solve(int wt, int flag) {
  if (wt > n) return 0;
  if (wt == n && flag) return 1;
  if (wt == n && !flag) return 0;
  long long int &ans = dp[wt][flag];
  if (ans != -1) return ans;
  ans = 0;
  for (int i = 1; i <= k; i++) {
    if (i >= d)
      ans = ans % mod + solve(wt + i, 1);
    else
      ans = ans % mod + solve(wt + i, flag);
    ans %= mod;
  }
  return ans;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  ;
  memset(dp, -1, sizeof dp);
  cin >> n >> k >> d;
  cout << solve(0, 0) << endl;
}
