#include <bits/stdc++.h>
using namespace std;
int read() {
  int x = 0;
  bool f = 0;
  char c = getchar();
  while (c < '0' || c > '9') f |= c == '-', c = getchar();
  while (c >= '0' && c <= '9') x = x * 10 + (c ^ 48), c = getchar();
  return f ? -x : x;
}
long double Fac[100000 + 5];
long double C(int n, int m) { return Fac[n] - Fac[m] - Fac[n - m]; }
int main() {
  Fac[0] = 0;
  for (int i = 1; i <= 100000; i++) Fac[i] = Fac[i - 1] + log((double)i);
  long double Ans = 0;
  int N = read(), M = read(), K = read();
  for (int i = 0; i <= N; i++) {
    for (int j = 0; j <= N; j++) {
      int tmp = N * (i + j) - i * j;
      if (tmp <= K)
        Ans = min((long double)1e99,
                  Ans + exp(C(N, i) + C(N, j) + C(M - tmp, K - tmp) - C(M, K)));
    }
  }
  printf("%.10f\n", (double)Ans);
  return 0;
}
