#include <iostream>
#include <bits/stdc++.h>
using namespace std;
long double dp[303][303][303];

long double solve(int z,int o,int t,int n){
  if(z<0||o<0||t<0)
    return 0;
  if(o==0 && z==0 && t==0)
    return 0;
  if(dp[z][o][t]>0)
    return dp[z][o][t];
  long double x=z+o+t;
  long double y=n+ z*solve(z-1,o,t,n)+o*solve(z+1,o-1,t,n)+t*solve(z,o+1,t-1,n);
  dp[z][o][t]=y/x;
  return dp[z][o][t];  
}

int main() {
  int n;
  cin>>n;
  int  a[n],z=0,o=0,t=0;
  for(int i=0;i<n;i++){
    cin>>a[i];
    if(a[i]==1)
      z++;
    else if(a[i]==2)
      o++;
    else
      t++;
  }
  memset(dp,-1,sizeof(dp));
  cout<<setprecision(10)<<solve(z,o,t,n); 
}