#include <bits/stdc++.h>
using namespace std;
long long dp1[105], dp2[105];
int mod = 1000000007;
int main() {
  int n, k, d;
  cin >> n >> k >> d;
  dp1[0] = 1;
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= k && (i - j) >= 0; j++)
      dp1[i] = (dp1[i] + dp1[i - j]) % mod;
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= k && (i - j) >= 0; j++) {
      if (j < d)
        dp2[i] = (dp2[i] + dp2[i - j]) % mod;
      else {
        dp2[i] = (dp2[i] + dp1[i - j]) % mod;
      }
    }
  cout << dp2[n] << "\n";
}
