#include <bits/stdc++.h>
using namespace std;
const int INF = 1e9 + 10;
const long long int INFLL = 1e18 + 10;
const long double EPS = 1e-8;
const long double EPSLD = 1e-14;
const long long int MOD = 1e9 + 7;
template <class T>
T &chmin(T &a, const T &b) {
  return a = min(a, b);
}
template <class T>
T &chmax(T &a, const T &b) {
  return a = max(a, b);
}
const int MAX_N = 1024;
int n, m, h;
int s[MAX_N];
long long int sum = 0;
int main() {
  scanf("%d %d %d", &n, &m, &h);
  h--;
  for (int i = (0); i < (int)(m); i++) scanf("%d", &s[i]);
  for (int i = (0); i < (int)(m); i++) sum += s[i];
  long long int x = sum - s[h];
  if (sum < n) return puts("-1");
  sum--;
  long double ans = 1;
  for (int i = (0); i < (int)(n - 1); i++) {
    ans *= (long double)x / (long double)sum;
    sum--;
    x--;
  }
  printf("%.18lf\n", (double)(1.0 - ans));
  return 0;
}
