#include<bits/stdc++.h>
using namespace std;
int a[66];
int b[66];
int n;
int sum;
int egg;
int ans;
int len_1;
bool flag[66]={0};
bool f=0,f_1=0;
void dfs(int cur,int len,int l){
if(cur==egg+1){
f=1;
return;
}
if(len==len_1) dfs(cur+1,0,0);
f_1=0;
for(int i=1+l;i<=n;i++){
if(flag[i]==0&&len+a[i]<=len_1&&f_1!=a[i]){
flag[i]=1;
dfs(cur,len+a[i],i);
if(f==1) return;
flag[i]=0;
if(len==0||len+a[i]==len_1) return;
}
}
}
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
cin>>b[i];
sum+=b[i];
}
sort(b+1,b+1+n);
int j=n;
for(int i=1;i<=n;i++){
a[i]=b[j];
j--;
}
for(int i=b[n];i<=sum;i++){
if(sum%i==0) {
len_1=i;
egg=sum/i;
dfs(1,0,0);
if(f==1)break;
}
}
printf("%d",len_1);
return 0;
}