#include "bits/stdc++.h" using namespace std; double dp[101][101][101]; int N; double dfs(int a0, int a1, int a2){ if (dp[a0][a1][a2] != 0) return dp[a0][a1][a2]; int sum = a0 + a1 + a2; if (sum == 0) return 0; double ret = 0; if (a0) ret += dfs(a0 - 1, a1 + 1, a2) * a0; if (a1) ret += dfs(a0, a1 - 1, a2 + 1) * a1; if (a2) ret += dfs(a0, a1, a2 - 1) * a2; ret /= sum; ret += (double)N / sum; return dp[a0][a1][a2] = ret; } int main(){ cin >> N; vector A(N); for (int i = 0; i < N; i++) { cin >> A[i]; } int num[3]; num[0] = num[1] = num[2] = 0; for (int i = 0; i < N; i++) { if (A[i] < 3) num[A[i]]++; } double ans = dfs(num[0], num[1], num[2]); printf("%.14f\n", ans); }