#include <bits/stdc++.h>
using namespace std;
const long double eps = 1e-7;
const long double pi = 3.1415926535897932384626433832795;
long double s[4444];
int kk[200000];
void add(int n, int d) {
  for (int i = 2; i <= n; i++) {
    int x = i, j = 2;
    while (x > 1 && j * j <= i) {
      while (x % j == 0) {
        kk[j] += d;
        x /= j;
      }
      j++;
    }
    kk[x] += d;
  }
}
int main() {
  int n, m, h;
  cin >> n >> m >> h;
  h--;
  n--;
  int second = -1;
  for (int i = 0; i < m; i++) {
    cin >> s[i];
    second += s[i];
  }
  if (second < n) {
    cout << -1 << endl;
    return 0;
  }
  s[h]--;
  int k = s[h];
  if (second - k - n < 0) {
    cout << 1.0 << endl;
    return 0;
  }
  add(second - k, 1);
  add(n, -1);
  add(second - k - n, -1);
  add(second - n, 1);
  add(n, 1);
  add(second, -1);
  long double ans = 1;
  for (int q = 0; q < 10; q++)
    for (int i = 2; i <= second; i++) {
      while (kk[i] > 0 && ans < 10000) {
        ans *= (i + 0.0);
        kk[i]--;
      }
      while (kk[i] < 0 && ans > 1e-7) {
        ans /= (i + 0.0);
        kk[i]++;
      }
    }
  for (int i = 2; i <= second; i++) {
    while (kk[i] > 0) {
      ans *= (i + 0.0);
      kk[i]--;
    }
    while (kk[i] < 0) {
      ans /= (i + 0.0);
      kk[i]++;
    }
  }
  printf("%.6f\n", 1 - ans);
  return 0;
}
