#include <iostream>
#include <iomanip>
using namespace std;
long double e[301][301][301];

int main()
{
	int n, a = 0, b = 0, c = 0, temp;
	cin >> n;
	for (int i = 1; i <= n; i++)
	{
		cin >> temp;
		if (temp == 1) a++;
		else if (temp == 2) b++;
		else c++;
	}
	
	e[0][0][0] = 0;
	
	for (int k = 0; k <= n; k++)
		for (int j = 0; j <= n - k; j++)
			for (int i = 0; i <= n - j - k; i++)
			{
				if (!i && !j && !k) continue;
				e[i][j][k] = n;
				if (i) e[i][j][k] += i * e[i - 1][j][k];
				if (j) e[i][j][k] += j * e[i + 1][j - 1][k];
				if (k) e[i][j][k] += k * e[i][j + 1][k - 1];
				e[i][j][k] /= (i + j + k);
			}
			
	cout << fixed << setprecision(10) << e[a][b][c];
}