#include <bits/stdc++.h>
using namespace std;
const int N = 10010;
int n, m, h, a[N], sum;
inline int read() {
  int x = 0, f = 1;
  char ch = getchar();
  while (!isdigit(ch)) {
    if (ch == '-') f = -1;
    ch = getchar();
  }
  while (isdigit(ch)) {
    x = x * 10 + (ch ^ 48);
    ch = getchar();
  }
  return x * f;
}
int main() {
  scanf("%d%d%d", &n, &m, &h);
  for (int i = 1; i <= m; i++) scanf("%d", &a[i]), sum += a[i];
  if (sum < n) {
    puts("-1");
    return 0;
  }
  if (sum - a[h] < (n - 1)) {
    puts("1");
    return 0;
  }
  double ans = 1.0;
  double x = sum - a[h], y = sum - 1;
  for (int i = 1; i <= n - 1; i++) {
    ans *= x / y;
    x--;
    y--;
  }
  printf("%.10f\n", 1.0 - ans);
  return 0;
}
