#include <bits/stdc++.h>
using namespace std;
bool o[200100];
int p[200100], a[200100], b[200100], num, n, m, r;
int main() {
  int i, j, k, w;
  double ans;
  memset(o, true, sizeof(o));
  num = 0;
  for (i = 2; i < 200100; i++)
    if (o[i]) {
      p[num++] = i;
      for (j = i + i; j < 200100; j += i) o[j] = false;
    }
  p[num] = 0x7fffffff;
  while (scanf("%d%d%d", &n, &m, &r) != EOF) {
    if (r >= m) {
      printf("1.0000\n");
      continue;
    } else if (n + r < m) {
      printf("0.0000\n");
      continue;
    }
    for (k = 0; p[k] <= n + m; k++) {
      a[k] = 0;
      b[k] = 0;
    }
    for (i = 0; i < k; i++) {
      w = n + r + 1;
      while (w) {
        w /= p[i];
        a[i] += w;
      }
      w = m - r - 1;
      while (w) {
        w /= p[i];
        a[i] += w;
      }
      w = m;
      while (w) {
        w /= p[i];
        b[i] += w;
      }
      w = n;
      while (w) {
        w /= p[i];
        b[i] += w;
      }
    }
    ans = 1.0;
    for (i = 0; i < k; i++) {
      while (a[i] > 0 || b[i] > 0) {
        if (b[i] > 0) {
          ans = ans * ((double)p[i]);
          b[i]--;
        }
        if (a[i] > 0) {
          ans = ans / ((double)p[i]);
          a[i]--;
        }
      }
    }
    printf("%lf\n", 1.0 - ans);
  }
  return 0;
}
