#include<bits/stdc++.h>usingnamespace std;constint N =17;int n, p[1<< N];double a[N][N], dp[1<< N];boolcheck(int x){if(n >15){
dp[1]=1;for(int i =2; i <= n;++i){
dp[i]= dp[i -1]*((double)(i -2)/ i +2./ i * x /(x +1));}return dp[n]>=0.5;}memset(dp,0,sizeof dp);
p[1]= x;for(int i =1; i <= n;++i){for(int j =1; j <= n;++j){
a[i][j]=(double) p[i]/(p[i]+ p[j]);}}
dp[(1<< n)-1]=1;for(int k =(1<< n)-1; k;--k){int t =__builtin_popcount(k);
t = t *(t -1)/2;for(int i =1; i <= n;++i){if(k >>(i -1)&1){for(int j =1; j <= n;++j){if(i != j && k >>(j -1)&1){
dp[k ^(1<<(j -1))]+= dp[k]* a[i][j]/ t;}}}}}return dp[1]>=0.5;}intmain(){
cin >> n;for(int i =2; i <= n;++i){
cin >> p[i];}int l =1, r =1e5, res =-1;while(l <= r){int mid = l + r >>1;if(check(mid)){
res = mid;
r = mid -1;}else{
l = mid +1;}}
cout << res <<'\n';return0;}