#include <bits/stdc++.h>
using namespace std;

typedef double db;
const int maxn = 310;
const db eps = 1e-10;
int n; db f[maxn][maxn][maxn];

db dfs(int s1, int s2, int s3) {
	db& res = f[s1][s2][s3];
	if (res > eps) return res;
	if (s1 + s2 + s3 == 0) return 0; res = 1;
	if (s1) res += dfs(s1 - 1, s2, s3) * s1 / n;
	if (s2) res += dfs(s1 + 1, s2 - 1, s3) * s2 / n;
	if (s3) res += dfs(s1, s2 + 1, s3 - 1) * s3 / n;
	if (s1 + s2 + s3 != n) res *= n / db(s1 + s2 + s3);
	return res;
}

int main() {
	scanf("%d", &n); int cnt[4];
	cnt[1] = cnt[2] = cnt[3] = 0;
	for (int i = 1, x; i <= n; i++) {
		scanf("%d", &x), cnt[x]++;
	}
	printf("%.15f", dfs(cnt[1], cnt[2], cnt[3]));
	return 0;
}