#include <bits/stdc++.h>
using namespace std;
const long long N = 300000;
double fac[N + 5];
double ans;
long long n, m, k;
inline long long read() {
  long long s = 0, w = 1;
  char ch = getchar();
  while (ch < '0' || ch > '9') {
    if (ch == '-') w = -1;
    ch = getchar();
  }
  while (ch >= '0' && ch <= '9')
    s = (s << 3) + (s << 1) + (ch ^ 48), ch = getchar();
  return s * w;
}
inline void Init() {
  fac[0] = 0;
  for (long long i = 1; i <= N; i++) fac[i] = fac[i - 1] + 1.0 * log(i * 1.0);
}
inline double C(long long x, long long y) {
  return fac[x] - fac[x - y] - fac[y];
}
signed main() {
  Init();
  n = read(), m = read(), k = read();
  if (m <= k)
    ans = 1;
  else if (m > n + k)
    ans = 0;
  else
    ans = 1 - exp(C(n + m, n + k + 1) - C(n + m, n));
  printf("%.6lf\n", ans);
  return 0;
}
