#include <bits/stdc++.h>
using namespace std;
const int nMax = 104;
double dp[nMax][nMax];
int main() {
  int n, m, h;
  long long total = 0;
  scanf("%d%d%d", &n, &m, &h);
  --h;
  vector<long long> players(m);
  for (int i = 0; i < (int)m; ++i) {
    scanf("%d", &players[i]);
    total += players[i];
  }
  if (total < n) {
    printf("-1.000000");
    return 0;
  }
  --total;
  --players[h];
  dp[1][0] = 1.0 - (players[h] + .0) / (total + .0);
  dp[1][1] = (players[h] + .0) / (total + .0);
  for (int i = 1; i < (int)n - 1; ++i) {
    for (int j = 0; j < (int)players[h] + 1; ++j) {
      dp[i + 1][j] += dp[i][j] * (1.0 - (players[h] - j + .0) / (total - i));
      dp[i + 1][j + 1] += dp[i][j] * (players[h] - j + .0) / (total - i);
    }
  }
  double ans = 0;
  for (int i = 1; i < (int)n; ++i) ans += dp[n - 1][i];
  printf("%.10f", ans);
  return 0;
}
