import copy from functools import lru_cache import sys sys.setrecursionlimit(1000000) N = int(input()) A = list(map(int,input().split())) B = [min(A[i],3) for i in range(N)] B = tuple(B) print(B) @lru_cache(maxsize=None) def solve(X): ret = 1 Z = list(X) loop = N for i,v in enumerate(Z): if v < 3: T = copy.copy(Z) T[i] = v+1 T = tuple(T) ret += solve(T)/N else: loop -= 1 if loop == 0: ret = 0 else: ret *= N/loop #print(Z,ret) return ret ans = solve(B) print(ans)