from collections import Counter



n = int(eval(input()))

A = [int(i) for i in input().split()]

C = Counter(A)

a, b, c = [C[i] for i in range(3, 0, -1)]



DP = [[[-1] * (a + b + c + 1) for i in range(a + b + 1)] for j in range(a + 1)]

DP[0][0][0] = 0



for i in range(a + 1):

    for j in range(a + b - i + 1):

        for k in range(a + b + c - i - j + 1):

            if i == j == k == 0:

                continue

            DP[i][j][k] = 1

            if i > 0: DP[i][j][k] += i / n * DP[i - 1][j + 1][k]

            if j > 0: DP[i][j][k] += j / n * DP[i][j - 1][k + 1]

            if k > 0: DP[i][j][k] += k / n * DP[i][j][k - 1]

            DP[i][j][k] *= n / (i + j + k)



print((DP[a][b][c]))
from collections import Counter



n = int(eval(input()))

A = [int(i) for i in input().split()]

C = Counter(A)

a, b, c = [C[i] for i in range(3, 0, -1)]



DP = [[[0] * (a + b + c - i - j + 1) for j in range(a + b - i + 1)] for i in range(a + 1)]



for i in range(a + 1):

    for j in range(a + b - i + 1):

        for k in range(a + b + c - i - j + 1):

            if i == j == k == 0:

                continue

            DP[i][j][k] = 1

            if i > 0: DP[i][j][k] += i / n * DP[i - 1][j + 1][k]

            if j > 0: DP[i][j][k] += j / n * DP[i][j - 1][k + 1]

            if k > 0: DP[i][j][k] += k / n * DP[i][j][k - 1]

            DP[i][j][k] *= n / (i + j + k)



print((DP[a][b][c]))
from collections import Counter

n = int(eval(input()))
A = [int(i) for i in input().split()]
C = Counter(A)
a, b, c = [C[i] for i in range(3, 0, -1)]
DP = [[[-1] * (a + b + c + 1) for i in range(a + b + 1)] for j in range(a + 1)]
DP[0][0][0] = 0
for i in range(a + 1):
    for j in range(a + b - i + 1):
        for k in range(a + b + c - i - j + 1):
            if i == j == k == 0:
                continue
            DP[i][j][k] = 1
            if i > 0:
                DP[i][j][k] += i / n * DP[i - 1][j + 1][k]
            if j > 0:
                DP[i][j][k] += j / n * DP[i][j - 1][k + 1]
            if k > 0:
                DP[i][j][k] += k / n * DP[i][j][k - 1]
            DP[i][j][k] *= n / (i + j + k)
print((DP[a][b][c]))

from collections import Counter

n = int(eval(input()))
A = [int(i) for i in input().split()]
C = Counter(A)
a, b, c = [C[i] for i in range(3, 0, -1)]
DP = [
    [[0] * (a + b + c - i - j + 1) for j in range(a + b - i + 1)] for i in range(a + 1)
]
for i in range(a + 1):
    for j in range(a + b - i + 1):
        for k in range(a + b + c - i - j + 1):
            if i == j == k == 0:
                continue
            DP[i][j][k] = 1
            if i > 0:
                DP[i][j][k] += i / n * DP[i - 1][j + 1][k]
            if j > 0:
                DP[i][j][k] += j / n * DP[i][j - 1][k + 1]
            if k > 0:
                DP[i][j][k] += k / n * DP[i][j][k - 1]
            DP[i][j][k] *= n / (i + j + k)
print((DP[a][b][c]))

-DP = [[[-1] * (a + b + c + 1) for i in range(a + b + 1)] for j in range(a + 1)] -DP[0][0][0] = 0 +DP = [ +    [[0] * (a + b + c - i - j + 1) for j in range(a + b - i + 1)] for i in range(a + 1) +]