#include <iostream>
#include <algorithm>
using namespace std;
typedef long long ll;


int n;
double dp[303][303][303]={};

double sd(int i,int j,int k){
  if (i==0 && j==0 && k==0) return 0.0;
  if (dp[i][j][k]>0.0) return dp[i][j][k];
  
  double res=0;
  if (i+j+k==n) res++;
  if (i+j+k < n) res+=(double)n/(i+j+k);
  if (i>0) res+=sd(i-1,j,k)*(double)i/(i+j+k);
  if (j>0) res+=sd(i+1,j-1,k)*(double)j/(i+j+k);
  if (k>0) res+=sd(i,j+1,k-1)*(double)k/(i+j+k);
  return dp[i][j][k]=res;
}


int main(void){
  int i,a,su[4]={};
  
  cin >> n;
  for (i=0;i<n;i++){
    cin >> a;
    su[a]++;
  }
  
  printf("%.12lf\n",sd(su[1],su[2],su[3]));
  
  return 0;
}