#include <bits/stdc++.h>
using namespace std;
int n, m, t, x, ans, c[110][110], f[55][55][55][110];
int main() {
  scanf("%d%d%d", &n, &m, &t);
  n >>= 1;
  for (int i = 0; i <= 100; i++) {
    c[i][0] = 1;
    for (int j = 1; j <= i; j++)
      c[i][j] = min(200, c[i - 1][j] + c[i - 1][j - 1]);
  }
  for (int i = 1; i <= n; i++) f[i][1][i][1] = 1;
  for (int i = 1; i <= n; i++)
    for (int j = 1; j < m && j <= n; j++)
      for (int k = 1; k <= i; k++)
        for (int l = 1; l <= t; l++)
          if ((x = f[i][j][k][l])) {
            (ans += (long long)x * (m - j)) %= 1000000007;
            for (int a = 1; a + i <= n; a++)
              if (l * c[a + k - 1][k - 1] <= t)
                (f[i + a][j + 1][a][l * c[a + k - 1][k - 1]] += x) %=
                    1000000007;
          }
  printf("%d\n", ans);
  return 0;
}
