#include <bits/stdc++.h>
using namespace std;
void files() {
  freopen("1.in", "r", stdin);
  freopen("1.out", "w", stdout);
  return;
}
const int MXN = 1e5 + 5;
const long long MOD = 1e9 + 7;
int n, m, cnt;
bool pas;
int x[MXN];
int y[MXN];
void sol() {
  int h;
  scanf("%d %d %d", &n, &m, &h);
  --h;
  int x[m];
  int sum = 0;
  for (int i = 0; i < m; ++i) {
    scanf("%d", &x[i]);
    sum += x[i];
  }
  if (n > sum) {
    printf("%d\n", -1);
    return;
  }
  --n;
  --sum;
  --x[h];
  double ans = 1;
  for (int i = sum - x[h] + 1; i <= sum; ++i) {
    ans = ans * (i - n) / i;
  }
  ans = 1 - ans;
  cout << fixed << setprecision(9) << ans << "\n";
}
int main() {
  int tcase = 1;
  while (tcase--) {
    sol();
  }
}
