#include<bits/stdc++.h>
using namespace std;
int n;int s;
double dp[310][310][310];
double dfs(int a,int b,int c){
if(!a && !b && !c) return 0;
if(dp[a][b][c]!=0){
return dp[a][b][c];
}
double ans;
ans=n/(a+b+c);
if(a) ans+=dfs(a-1,b,c)*(a/(a+b+c));
if(b) ans+=dfs(a+1,b-1,c)*(b/(a+b+c));
if(c) ans+=dfs(a,b+1,c-1)*(c/(a+b+c));
return dp[a][b][c]=ans;
}
int main(){
cin>>n;
int a,b,c;
for(int i=0;i<n;i++){
cin>>s;
if(s==1) a++;
else if(s==2) b++;
else c++;
}
double ans=dfs(a,b,c);
printf("%.10f\n",ans);
return 0;
}
输出清一色的0.0000000000