#include <bits/stdc++.h>
const int MAXN = 1000 + 10;
int a[MAXN];
double fun(int s, int n, int h) {
  double a = 1, b = 1;
  for (int i = 0; i < h; i++) {
    a *= s - n - i;
    b *= s - i;
  }
  return a / b;
}
int main() {
  int n, m, h, i;
  while (scanf("%d%d%d", &n, &m, &h) == 3) {
    int s = 0;
    for (i = 0; i < m; i++) {
      scanf("%d", &a[i]);
      s += a[i];
    }
    s--;
    n--;
    a[h - 1]--;
    if (s < n) {
      puts("-1.0");
    } else if (s - a[h - 1] < n) {
      puts("1.0");
    } else {
      printf("%.16lf\n", 1 - fun(s, n, a[h - 1]));
    }
  }
  return 0;
}
