#include <bits/stdc++.h>
using namespace std;
double sol[50],v[50],dp[50][50],sp[50][50];
int main()
{
ifstream cin("dezastru.in");
ofstream cout("dezastru.out");
int n,k;
cin>>n>>k;
for(int i=0; i<=n; i++)
{
sp[i][0]=1;
if(i==0)
continue;
for(int j=1;j<=n;j++)
{
sp[i][j]=sp[i-1][j]+sp[i-1][j-1];
}
}
for(int i=1; i<=n; i++)
cin>>v[i];
for(int i=0; i<=n; i++)
{
if(i==0)
{
sol[i]=1;
continue;
}
for(int j=1; j<=min(i,k); j++)
{
dp[i][j]=v[i]*sol[j-1];
}
for(int j=1; j<=min(i,k); j++)
{
sol[j]+=dp[i][j];
}
}
cout<<fixed<<setprecision(6)<<sol[k]/sp[n][k];
return 0;
}