#include <bits/stdc++.h>
using namespace std;
long long M = 1e9 + 7;
const int N = 3e2 + 7, L = 1e5 + 7;
long double fac[L], res;
int n, m, k;
long double chs(int a, int b) { return fac[b] - fac[a] - fac[b - a]; }
void solve(int stn, int str, int sz) {
  long double tmp = chs(stn, n);
  tmp += chs(str, n);
  tmp += chs(k - sz, m - sz);
  tmp -= chs(k, m);
  res += exp(tmp);
  res = min(res, (long double)1e99);
}
int main() {
  for (int i = 1; i < L; i++) fac[i] = fac[i - 1] + log(i);
  cin >> n >> m >> k;
  for (int stn = 0; stn <= n; stn++)
    for (int str = 0; str <= n; str++)
      if ((stn + str) * n - str * stn <= k)
        solve(stn, str, (stn + str) * n - stn * str);
  cout << fixed << setprecision(9);
  cout << min(res, (long double)1e99);
}
