#include <bits/stdc++.h>
const int MAXM = 1e5;
constexpr long double INF(1e99);
int n, m, k;
long double Ans, Fac[MAXM + 5];
inline long double C(const int n, const int m) {
  return Fac[n] - Fac[m] - Fac[n - m];
}
inline void Work() {
  scanf("%d %d %d", &n, &m, &k);
  for (register int i = 1; i <= m; ++i) Fac[i] = Fac[i - 1] + log(1.0 * i);
  for (register int i = 0; i <= n; ++i) {
    for (register int j = 0, t; j <= n; ++j) {
      if ((t = (i + j) * n - i * j) <= k) {
        long double p = C(n, i) + C(n, j) + C(m - t, k - t) - C(m, k);
        Ans += exp(p);
        if (Ans > INF) {
          puts("1e99");
          return;
        }
      }
    }
  }
  printf("%.10f\n", (double)Ans);
}
int main() {
  Work();
  return 0;
}
