#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=100;
ll n,k,len,minn,maxx,flag;
bool bz[N];
ll a[N];
void dfs(ll l,ll u,ll step){
if(flag)return;
if(u==len)dfs(0,0,step+1);
if(len-u<a[n])return;
if(step==k-1){
printf("%lld",len);
flag=1;
exit(0);
}
for(register int i=l+1;i<=n;i++){
if(!bz[i]&&u+a[i]<=len){
bz[i]=1;
dfs(i,u+a[i],step);
bz[i]=0;
ll j=i;
if(u+a[i]==len||u==0)return;
while(i<n&&a[i]==a[j])i++;
if(i==n)return;
}
}
}
bool cmp(ll x,ll y){
return x>y;
}
int main(){
freopen("P1120_12.in","r",stdin);
scanf("%lld",&n);
for(register int i=1;i<=n;i++){
scanf("%lld",&a[i]);
maxx+=a[i];
minn=max(minn,a[i]);
}
sort(a+1,a+1+n,cmp);
//for(int i=1;i<=n;i++)cout<<a[i]<<' ';cout<<endl;
for(register int i=minn;i<=maxx/2;i++){
if(maxx%i==0){
k=maxx/i;
len=i;
dfs(0,0,0);
}
if(flag)return 0;
}
printf("%lld",maxx);
return 0;
}