import sys input=lambda: sys.stdin.readline().rstrip() import itertools n=int(input()) A=[int(i) for i in input().split()] tot=sum(A) P=[[0]*(3**n) for _ in range(2)] for p in itertools.product(range(3),repeat=n): index,sen=0,0 Mitei=[] for i in range(n): index+=p[i]*3**i if p[i]==0: sen+=A[i] if p[i]==2: Mitei.append(i) if not Mitei: if sen*2>tot: for j in range(2): P[j][index]=1 else: for j in range(2): P[j][index]=0 else: pa0,pa1=0,0 for m1 in Mitei: p0,p1=0,1 for m2 in Mitei: a1,a2=A[m1],A[m2] pp0=(P[1][index-2*3**m1]/a1 + P[0][index-3**m2]*(a1-1)/(a1*a2))*a1*a2/(a1+a2-1) pp1=(P[0][index-3**m2]/a2 + P[1][index-2*3**m1]*(a2-1)/(a1*a2))*a1*a2/(a1+a2-1) if pp1<=p1: p0,p1=pp0,pp1 if p0>=pa0: pa0,pa1=p0,p1 P[0][index]=pa0 P[1][index]=pa1 print(P[0][-1])