#include<bits/stdc++.h>
using namespace std;
#define ld long double
#define ll long long
const int N=7,C=55;
ll f[N*C][1<<N];
int l[N],n,c,a[N];
ll getans()
{
    memset(f,0,sizeof(f));
    f[n*l[n]][0]=1;
    for(int i=0;i<n*c;i++)
        for(int j=i;j<=n*c;j++)
            for(int k=0;k<(1<<n-1);k++)
                if(i%n&&!(k&(1<<a[i%n]-1)))
                    f[min(n*c,max(j,i+n*l[a[i%n]]))][k|(1<<a[i%n]-1)]
                        +=f[j][k];
    return f[n*c][(1<<n-1)-1];
}
int main()
{
    scanf("%d%d",&n,&c);
    for(int i=1;i<=n;i++)scanf("%d",&l[i]),a[i]=i;
    sort(l+1,l+n+1);
    ld ans=0;
    do{ans+=getans();}while(next_permutation(a+1,a+n));
    for(int i=1;i<n;i++)ans/=1.0*c*i;
    printf("%.20Lf\n",ans);
}
