#include <bits/stdc++.h>
int dep[1005];
int main() {
  int n, m, h, i, n1, m1, n2, m2, sum, a1, b1, a2, b2, a3, b3, t;
  double ans;
  while (scanf("%d%d%d", &n, &m, &h) != EOF) {
    sum = 0;
    for (i = 0; i < m; i++) {
      scanf("%d", &dep[i]);
      sum += dep[i];
    }
    if (sum < n)
      printf("%0.10lf\n", -1.0);
    else {
      n1 = sum - 1;
      m1 = n - 1;
      n2 = sum - dep[h - 1];
      m2 = n - 1;
      if (m2 > n2)
        printf("%0.10lf\n", 1.0);
      else {
        ans = 1;
        if (n2 <= n1) {
          for (i = n2 + 1; i <= n1; i++) ans *= 1.0 / i;
          a1 = b1 = 1;
        } else {
          a1 = m1 + 1;
          b1 = n2;
        }
        t = n1 - m1;
        if (t <= n2 - m2) {
          for (i = t + 1; i <= n2 - m2; i++) ans *= 1.0 / i;
          a2 = b2 = 1;
        } else {
          a2 = n2 - m2 + 1;
          b2 = t;
        }
        for (i = a1; i <= b1; i++) ans *= i;
        for (i = a2; i <= b2; i++) ans *= i;
        printf("%0.10lf\n", 1 - ans);
      }
    }
  }
  return 0;
}
