#include<bits/stdc++.h>
#define N 1000000+5
using namespace std;
int a[N],n,sum,m;
bool v[N];
bool cmp(int x,int y){
return x>y;
}
bool dfs(int s,int t,int x,int y)
{
if(s==m+1 && x==0)
return true;
else if(s==m+1)
return false;
else if(x==0)
{
x=y;
t=0;
}
for(int i=t+1;i<=m;i++)
{
if(!v[i])
{
if(x-a[i]>=0)
{
v[i]=true;
if(dfs(s+1,i,x-a[i],y))
return true;
v[i]=false;
if(a[i]==x||y==x)
break;
while(a[i]==a[i+1])
i++;
}
}
}
return 0;
}
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
int x;
scanf("%d",&x);
if(x<=50)
{
a[++m]=x;
sum+=x;
}
}
sort(a+1,a+1+m,cmp);
for(int i=a[1];i<=sum;i++)
{
if(sum%i==0)
{
if(dfs(1,0,i,i))
{
printf("%d\n",i);
break;
}
}
}
return 0;
}