#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e9 + 7;
long long dp[111][11111], tmp[111];
long long C[111][111];
long long n, m, k;
long long pow_mod(long long a, long long b, long long p) {
  long long t = 1;
  for (; b; b >>= 1, a = a * a % p)
    if (b & 1) t = t * a % p;
  return t;
}
int main() {
  for (int i = 0; i <= 100; i++) {
    C[i][0] = 1;
    for (int j = 1; j <= 100; j++)
      C[i][j] = (C[i - 1][j] + C[i - 1][j - 1]) % mod;
  }
  cin >> n >> m >> k;
  dp[0][0] = 1;
  for (int i = 1; i <= n; i++) {
    long long t = (m - i) / n + 1;
    for (int l = 0; l <= n; l++) tmp[l] = pow_mod(C[n][l], t, mod);
    for (int j = 0; j <= k; j++) {
      for (int l = 0; l <= n; l++) {
        if (j - l >= 0) dp[i][j] += dp[i - 1][j - l] * tmp[l] % mod;
      }
      dp[i][j] %= mod;
    }
  }
  cout << dp[n][k] << endl;
  return 0;
}
