#include <bits/stdc++.h>
#define ll long long
#define ld long double
using namespace std;
ifstream fin ("dezastru.in");
ofstream fout ("dezastru.out");
int n, k, viz[26], a[26];
double prob[26], ans;
void backt (int p) {
if (p ==k + 1) {
double prod = 1.0;
for (int i = 1; i <= k; i++) {
prod = 1.0 * prod * prob[a[i]];
prod *= i;
}
for (int i = n - k + 1; i <= n; i++)
prod /= i;
ans += prod;
return;
}
for (int i = a[p - 1] + 1; i <= n; i++)
if (!viz[i]) {
viz[i] = 1;
a[p] = i;
backt(p + 1);
viz[i] = 0;
}
}
int main()
{
fin >> n >> k;
for (int i = 1; i <= n; i++)
fin >> prob[i];
backt(1);
fout<< fixed << setprecision(9) << ans << "\n";
return 0;
}