#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e9 + 7;
long long n, k, m, f[100005][15][20];
long long count(long long x) {
  long long sum = 0;
  while (x) sum++, x -= (x & -x);
  return sum;
}
signed main() {
  scanf("%lld%lld%lld", &n, &k, &m);
  f[0][0][0] = 1;
  for (long long i = 0; i < n; i++) {
    for (long long j = 0; j <= k; j++) {
      for (long long s = 0; s < (1 << m); s++) {
        f[i + 1][j][s >> 1] = (f[i + 1][j][s >> 1] + f[i][j][s]) % mod;
        f[i + 1][j + 1][(s >> 1) | (1 << (m - 1))] =
            (f[i + 1][j + 1][(s >> 1) | (1 << (m - 1))] +
             (1ll + count(s)) * f[i][j][s]) %
            mod;
      }
    }
  }
  long long ans = 0;
  for (long long i = 0; i < (1 << m); i++) ans = (ans + f[n][k][i]) % mod;
  printf("%lld\n", ans);
  return 0;
}
