#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define REP(i,s,n) for(int i=(int)(s);i<(int)(n);i++) using namespace std; typedef long long int ll; typedef vector VI; typedef vector VL; typedef pair PI; double solve(int n, const VI &cons) { if (cons[0] == n) { return 0; } double sum = 1; REP(i, 0, n - 1) { int p = n - cons[i]; if (p <= i) { return 0; } sum *= p - i; sum /= n - 1 - i; } return sum; } int main(void){ int n, s, wid; cin >> n >> s >> wid; VI a(n); REP(i, 0, n) { cin >> a[i]; } int lim = a[wid] + 100 * s; VI cons; REP(i, 0, n) { if (i == wid) { continue; } int diff = lim - a[i]; int lo = 0; int hi = n; // impossible while (hi - lo > 1) { int mid = (hi + lo) / 2; if (diff >= 50 * s + 250 * s / (4 + mid)) { hi = mid; } else { lo = mid; } } cons.push_back(hi); } sort(cons.rbegin(), cons.rend()); printf("%.15f\n", solve(n, cons)); }