#include<iostream>
#include<iomanip>
using namespace std;
int M,S[1024];
double dp[11][1024];
main()
{
	cin>>M;
	for(int i=0;i<1<<M;i++)cin>>S[i];
	for(int i=0;i<1<<M;i++)dp[0][i]=1;
	for(int i=0;i<M;i++)
	{
		for(int j=0;j<1<<M;j++)
		{
			double p=0;
			int L=(j>>i^1)<<i;
			for(int k=0;k<1<<i;k++)
			{
				p+=dp[i][L+k]*S[j]*S[j]/(S[j]*S[j]+S[L+k]*S[L+k]);
			}
			dp[i+1][j]=p*dp[i][j];
		}
	}
	cout<<fixed<<setprecision(16)<<dp[M][0]<<endl;
}