# include <bits/stdc++.h>
using namespace std;
const int maxn=66;
int a[maxn];
int n,tot=0,now,last_one,ans;
bool vis[maxn];
bool cmp(int x,int y)
{
return x>y;
}
bool dfs(int num,int len)
{
if(num==0&&len==0) return 1;
if(len==0) len=now;
int begin=1;
if (len!=now) begin=last_one+1;
for (int i=begin;i<=n;i++)
{
if (!vis[i]&&a[i]<=len)
{
if (i!=1&&!vis[i-1]&&a[i-1]==a[i])
continue;
vis[i]=true;
last_one=i;
if (dfs(num-1,len-a[i]))
{
return 1;
}
vis[i]=false;
if (len==a[i]||len==now)
return 0;
}
}
return 0;
}
int main()
{
tot=0;ans=0;
scanf("%d",&n);
for (int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
tot+=a[i];
}
sort(a+1,a+n+1,cmp);
for (int i=a[1];i<=(tot>>1);i++)
{
if (tot%i)
{
continue;
}
last_one=1;
now=i;
if(dfs(n,i))
{
ans=i;
break;
}
}
if(ans) printf("%d\n",ans);
else printf("%d\n",tot);
return 0;
}