#include <bits/stdc++.h>
using namespace std;
const int MAXN=310;
double dp[MAXN][MAXN][MAXN];
int cnt[3],n,a;

int main(){
	cin>>n;
	for(int i=0;i<n;++i) cin>>a,++cnt[a-1];
	for(int k=0;k<=cnt[2];++k){
		for(int j=0;j<=cnt[2]+cnt[1];++j){
			for(int i=0;i<=cnt[2]+cnt[1]+cnt[0];++i){
				if(!(i+j+k)) continue;
				if(i+j+k>n) continue;
				int tot=i+j+k;
				if(k) dp[i][j][k]+=1.0*dp[i][j+1][k-1]*k/tot;
				if(j) dp[i][j][k]+=1.0*dp[i+1][j-1][k]*j/tot;
				if(i) dp[i][j][k]+=1.0*dp[i-1][j][k]*i/tot;
				dp[i][j][k]+=1.0*n/tot;
			}
		}
	}
	cout<<fixed<<setprecision(10)<<dp[cnt[0]][cnt[1]][cnt[2]]<<endl;
	return 0;
} 