#include using namespace std; int main(void) { cout << fixed << setprecision(30); int N; cin >> N; vector A(N); for(int i = 0; i < N; ++i) cin >> A[i]; vector cnt(4, 0); for(int i = 0; i < N; ++i) cnt[min(3, A[i])] += 1; map, double> m; auto solve = [&](auto &&solve, int c0, int c1, int c2) ->double { if(c0 == 0 and c1 == 0 and c2 == 0) return 0; auto t = make_tuple(c0, c1, c2); if(m.find(t) != m.end()) return m[t]; double sum = c0 + c1 + c2, ans = N / sum; if(c0 != 0) ans += solve(solve, c0 - 1, c1 + 1, c2) * (c0 / sum); if(c1 != 0) ans += solve(solve, c0, c1 - 1, c2 + 1) * (c1 / sum); if(c2 != 0) ans += solve(solve, c0, c1, c2 - 1) * (c2 / sum); return m[t] = ans; }; cout << solve(solve, cnt[0], cnt[1], cnt[2]) << "\n"; return 0; }