// clang-format off #include #include #include #include #include #include #define FOR(i, a, b) for(int i = (a); i < (b); i++) #define RFOR(i, a, b) for(int i = (b)-1; i >= (a); i--) #define rep(i, n) for(int i = 0; i < (n); i++) #define rep1(i,n) for(int i = 1; i <= (n); i++) #define rrep(i, n) for(int i = (n)-1; i >= 0; i--) #define pb push_back #define mp make_pair #define fst first #define snd second #define show(x) cout << #x << " = " << x << endl #define chmin(x,y) x=min(x,y) #define chmax(x,y) x=max(x,y) #define pii pair #define vi vector using namespace std; template ostream& operator<<(ostream& o,const pair& p){return o<<"("< ostream& operator<<(ostream& o,const vector& vc){o<<"sz = "<= 100*S){ return N; } else { return N - (((250*S) / (score-50*S)) -4); } } int main() { cin >> N >> S >> w; vector a(N); rep(i, N){ cin >> a[i]; } auto ite = a.begin()+w; const ll wp = (*ite)+100*S; a.erase(ite); N--; sort(a.begin(), a.end(), greater()); long double p = 1.0; for(const auto& i: a){ const long double prob = (long double)(calc(wp-i)) / N; show(prob); p *= prob; if(prob == 1.0){ break; } } cout << setprecision(10) << p << endl; return 0; }