#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; }