#include <bits/stdc++.h>
using namespace std;
int len[10],pos[10],a[10],f[305][305][64],n,fac=1,c;
void upd(int&x,int y){x=x+y;}
int ksm(int x,int k){return k?x*ksm(x,k-1):1;}
int main(){
    double sum=0;
    cin>>n>>c;
    for(int i=1;i<=n;i++)
        cin>>len[i];
    for(int i=1;i<n;i++)
        a[i]=i,fac=fac*i;
    sort(len+1,len+n+1);
    do{
        memset(f,0,sizeof(f));
        for(int i=1;i<n;i++)pos[a[i]]=i;
        f[0][len[n]*n-1][1<<(n-1)]=1;
        for(int i=1;i<=n*c;i++){
            for(int j=i;j<=n*c;j++){
                for(int k=1<<(n-1);k<1<<n;k=(k+1)|(1<<(n-1))){
                    if(!f[i-1][j][k])continue;
                    int l=pos[i%n];
                    upd(f[i][j][k],f[i-1][j][k]);
                    if(!l||k>>(l-1)&1)continue;
                    upd(f[i][min(n*c,max(j,i+len[l]*n-1))][k|(1<<(l-1))],f[i-1][j][k]);
                }
            }
        }
        int ans=f[n*c][n*c][(1<<n)-1],all=ksm(c,n-1);
        sum+=1.0*ans/all/fac;
    }while(next_permutation(a+1,a+n));
    cout<<fixed<<setprecision(12)<<sum<<"\n";
    return 0;
}