#include <bits/stdc++.h>
using namespace std;
const long long N = 100010;
inline long long read() {
  long long s = 0, w = 1;
  register char ch = getchar();
  while (ch < '0' || ch > '9') {
    if (ch == '-') w = -1;
    ch = getchar();
  }
  while (ch >= '0' && ch <= '9') s = s * 10 + ch - '0', ch = getchar();
  return s * w;
}
long long n, m, h;
long long s[N], res;
signed main() {
  n = read(), m = read(), h = read();
  for (register long long i = 1; i <= m; i++) s[i] = read(), res += s[i];
  if (n > res) {
    puts("-1");
    return 0;
  }
  double ans = 1;
  for (register long long i = 1; i < n; i++)
    ans = ans * (res - s[h] - (n - 1) + i) * 1.0 /
          (1.0 * (res - (n - 1) + i - 1));
  printf("%.10lf\n", 1 - ans);
  return 0;
}
