#include <bits/stdc++.h>
using namespace std;
long double c(long double n, long double k) {
  if (k > n) return 0;
  long double tmp = 1;
  k = max(k, n - k);
  for (long double i = n; i > k; i--) tmp *= i;
  for (long double i = 1; i <= n - k; i++) tmp /= i;
  return tmp;
}
int main() {
  long double n, m, k, dep[1005] = {0};
  long double sum = 0;
  cin >> n >> m >> k;
  for (int i = 1; i <= m; i++) {
    cin >> dep[i];
    sum += dep[i];
  }
  if (sum < n) {
    cout << -1 << endl;
    return 0;
  }
  long double all, nv;
  all = c(sum - 1, n - 1);
  nv = c(sum - dep[(int)k], n - 1);
  cout << fixed << setprecision(6) << (all - nv) / all << endl;
  return 0;
}
