n = int(input()) A = list(map(int, input().split())) zero = 0 one = 0 two = 0 for a in A: if a == 0: zero += 1 elif a == 1: one += 1 elif a == 2: two += 1 else: pass tot = zero + one + two + 1 memo = {} def dfs(z, o, t): if z + o + t == 0: return 0 tmp = (z * tot + o) * tot + t if tmp in memo: return memo[tmp] ret = 1 if z >= 1: ret += dfs(z - 1, o + 1, t) * z / n if o >= 1: ret += dfs(z, o - 1, t + 1) * o / n if t >= 1: ret += dfs(z, o, t - 1) * t / n ret *= n / (z + o + t) memo[tmp] = ret return ret print(dfs(zero, one, two))