#include<bits/stdc++.h>
using namespace std;
int n,a[75],sum=0,ans=0,maxd=-1;
bool b[75]={0};
inline bool cmp(int x,int y)
{
return x>y;
}
inline void dfs(int k,int s,int yq,int la)
{
if(yq==0) printf("%d",k),exit(0);
if(s==k){dfs(k,0,yq-1,0);return;}
if(k-s<a[n]) return;
int now=0,l=la+1,r=n;
while(l<r)
{
int mid=(l+r)/2;
if(a[mid]<=k-s) r=mid;
else l=mid+1;
}
for(register int i=l;i<=n;i++)
{
if(a[i]==now) continue;
if(b[i]) continue;
if(s+a[i]>k) continue;
now=a[i];
b[i]=1,dfs(k,s+a[i],yq,i),b[i]=0;
if(s-k==a[i]|s-k==k) return;
while(a[i+1]==a[i]) i++;
}
}
int main()
{
scanf("%d",&n);
for(register int i=1;i<=n;i++) scanf("%d",&a[i]),sum+=a[i];
sort(a+1,a+n+1,cmp);
for(register int i=a[1];i<=sum/2;i++)
{
if(sum%i) continue;
dfs(i,a[1],sum/i,1);
}
printf("%d",sum);
return 0;
}
大佬们都来看一看,别装了,我刚才发了个abcD题的求助帖就冒出来一大堆人