#include <bits/stdc++.h>
using namespace std;
int line[105],len,nxt[105],end1,sum,n,iA,in,maxi,cha,cun;
bool vis[105];
bool cmp(const int a,const int b){
return a>b;
}
bool perm(int pre,int fromp){
int i;
if(pre%len==0){
if(sum-pre==len) return true;
for(i=2;i<=end1 && vis[i];i++) ;
vis[i]=true;
if(perm(pre+line[i],2)) return true;
vis[i]=false;
}
else {
for(;fromp<=end1;fromp++){
if(!vis[fromp])
{
if(pre%len+line[fromp]<=len)
{
vis[fromp]=true;
if(perm(pre+line[fromp],fromp)) return true;
vis[fromp]=false;
if(pre%len+line[fromp]==len) return false;
}
fromp=nxt[line[fromp]];
}
}
}
return false;
}
int main(){
scanf("%d\n",&n);
for (iA=1;iA<=n;iA++){
scanf("%d",&in);
if(in<=50){
maxi=max(maxi,in);
sum+=in;
line[iA-cha]=in;
}
else cha++;
}
sort(line+1,line+n-cha+1,cmp);
for(iA=1;iA<=n-cha;iA++)
if(line[iA]!=cun){
nxt[cun]=iA-1;
cun=line[iA];
}
end1=n-cha;vis[1]=true;nxt[line[end1]]=end1;
for(len=maxi;len<=sum/2;len++)
{
if(sum%len!=0) continue;
if(perm(line[1],2)) break;
}
if(len>sum/2) cout<<sum;
else cout<<len;
return 0;
}