#include <bits/stdc++.h>
using namespace std;
map<pair<long long int, long long int>, long long int> m;
long long int nCr(long long int n, long long int r) {
  if (n == r) return 1;
  if (r == 0) return 1;
  if (n < r) return 0;
  if (m.count({n, r}) == 1) return m[{n, r}];
  return m[{n, r}] = nCr(n - 1, r - 1) + nCr(n - 1, r);
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  long long int n, m, h;
  cin >> n >> m >> h;
  vector<long long int> s(m);
  for (long long int i = 0; i < m; i++) cin >> s[i];
  long long int sum = 0;
  for (long long int i = 0; i < m; i++) sum += s[i];
  if (sum < n) {
    cout << -1;
    return 0;
  }
  long long int sh = s[h - 1];
  double ans = 1;
  if (sum - sh < n - 1)
    ans = 0;
  else {
    long long int a = sum - sh;
    long long int b = a - n + 1;
    for (long long int i = 1; i < sh; i++) {
      ans *= 1.0 * (b + i) / (a + i);
    }
  }
  cout << std::setprecision(12) << (1 - ans) << endl;
  return 0;
}
