#include <bits/stdc++.h>
using namespace std;
int n, m, h, g;
double z, v(1.0);
vector<int> s;
int main() {
  cout.setf(ios::fixed);
  cout.precision(7);
  cin >> n >> m >> h;
  s.resize(m);
  h--;
  for (int i = 0; i < m; i++) cin >> s[i];
  s[h]--;
  n--;
  for (int i = 0; i < m; i++) g += s[i];
  if (n <= g) {
    while (s[h] <= g && n > 0) {
      z += v * s[h] / g;
      v *= 1.0 - (double)s[h] / g;
      n--;
      g--;
    }
    if (n > 0) z += v;
    cout << z;
  } else {
    cout << -1;
  }
  return 0;
}
