# -*- coding: utf-8 -*- dp = [[[-1] * 101 for j in range(101)] for i in range(101)] def solve(a, b, c): s = a + b + c if s == 0: dp[a][b][c] = 0 if dp[a][b][c] >= 0: return dp[a][b][c] # a, b, cのいずれかが出る(自己ループを抜ける)までの回数の期待値 dp[a][b][c] = N / s if a > 0: dp[a][b][c] += solve(a-1, b+1, c) * a / s if b > 0: dp[a][b][c] += solve(a, b-1, c+1) * b / s if c > 0: dp[a][b][c] += solve(a, b, c-1) * c / s return dp[a][b][c] N = int(input()) A = list(map(int, input().split())) num = [0, 0, 0] for x in A: if x < 3: num[x] += 1 print(solve(num[0], num[1], num[2]))