#include <bits/stdc++.h>
const char Directory[300] =
    "/Users/carlosjosetoribio/NetBeansProjects/Runner/dist/Debug/GNU-MacOSX/"
    "runner";
using namespace std;
int ppl[1003];
int main(int argc, char** argv) {
  if (strcmp(argv[0], Directory) == 0) {
    freopen("in.txt", "r", stdin);
  }
  int N, M, H;
  scanf("%d%d%d", &N, &M, &H);
  H--;
  for (int i = 0; i < M; ++i) scanf("%d", &ppl[i]);
  ppl[H]--;
  N--;
  {
    int sum = 0;
    for (int i = 0; i < M; ++i) sum += ppl[i];
    if (sum < N)
      puts("-1.0");
    else {
      double p = 0;
      double np = 1;
      for (int i = 0; i < N; ++i) {
        p += np * ppl[H] / double(sum - i);
        np *= (sum - i - ppl[H]) / double(sum - i);
      }
      printf("%0.13lf\n", p);
    }
  }
  return 0;
}
