#include <bits/stdc++.h>
using namespace std;
const int32_t MAXX = 100 * 1000 + 123;
int32_t n, m, k;
long double f[MAXX], ans;
inline long double ent(int32_t x, int32_t y) { return f[y] - f[x] - f[y - x]; }
int32_t main() {
  for (int32_t i = 1; i < MAXX; i++) f[i] = f[i - 1] + log(i);
  cin >> n >> m >> k;
  for (int32_t i = 0; i <= n; i++)
    for (int32_t j = 0; j <= n; j++)
      ans = min(
          ans + (((i + j) * n - i * j <= k) ? exp(ent(i, n) + ent(j, n) +
                                                  ent(k - (i + j) * n + i * j,
                                                      m - (i + j) * n + i * j) -
                                                  ent(k, m))
                                            : 0.),
          (long double)1e99);
  cout << fixed << setprecision(20) << ans;
  return 0;
}
