#include<bits/stdc++.h>
using namespace std;
double f[301][301][301];
int main()
{
	double tmp,x,y,z;
	int i,j,k,n,a,one,two,three;
	scanf("%d",&n);
	one=two=three=0;
	for(i=1;i<=n;i++)
	{
		scanf("%d",&a);
		if(a==1)
			one++;
		else if(a==2)
			two++;
		else if(a==3)
			three++;
	}
	for(k=0;k<=n;k++)
	{
		for(j=0;j<=n;j++)
		{
			for(i=0;i<=n;i++)
			{
				tmp=i+j+k;
				if(i+j+k==0)
					continue;
				if(i+j+k>n)
					continue;
				x=y=z=0;
				if(i!=0)
					x=(double)i/tmp*f[i-1][j][k];
				if(j!=0)
					y=(double)j/tmp*f[i+1][j-1][k];
				if(k!=0)
					z=(double)k/tmp*f[i][j+1][k-1];
				f[i][j][k]+=x+y+z+(double)n/tmp;
			}
		}
	}
	printf("%.10lf",f[one][two][three]);
	return 0;
}