#include <bits/stdc++.h>
using namespace std;
const int MOD = 1000000007;
int main() {
  vector<long long> a(101, 0), b(101, 0);
  int n, k, d;
  cin >> n >> k >> d;
  a[0] = b[0] = 1;
  for (int i = 1; i <= n; ++i) {
    for (int j = 0 > i - k ? 0 : i - k; j < i; ++j) {
      a[i] += a[j];
      a[i] %= MOD;
    }
    for (int j = 0 > i - d + 1 ? 0 : i - d + 1; j < i; ++j) {
      b[i] += b[j];
      b[i] %= MOD;
    }
  }
  cout << (a[n] - b[n] + MOD) % MOD << endl;
  return 0;
}
