M = int(input()) N = 1 << M S = [int(input()) for _ in range(N)] S2 = [s * s for s in S] X = [[0] * N for _ in range(M + 1)] for i in range(N): X[0][i] = 1 for i in range(M): unit = 1 << i block = 2 * unit for j in range(N // unit): rj = j + (-1) ** j for k in range(unit): a = j * unit + k for l in range(unit): b = rj * unit + l X[i + 1][a] += S2[a] / (S2[a] + S2[b]) * X[i][b] X[i + 1][a] *= X[i][a] print(X[-1][0])