#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef const ll cll;
typedef vector<ll>vll;
typedef string str;
typedef pair<ll, ll>pll;
#define pb push_back
#define st first
#define nd second
cll llmi = -9187201950435737472;
cll llma = 9187201950435737471;
ll n,m,a[65],cnt[55],ma,mi=llma,s;
void dfs(ll x,ll y,ll z,ll k){
if(s/k==x)printf("%lld",k),exit(0);
if(z==k){
dfs(x+1,ma,0,k);
return ;
}
for(int i=min(y,k-z);i>=mi;i--){
if(cnt[i]==0||z+i>k)continue;
else {
cnt[i]--;
dfs(x,i,z+i,k);
cnt[i]++;
if(z+i==k||z*2==k)return;
}
}
}
int main() {
scanf("%lld",&n);
for(int i=1;i<=n;i++){
scanf("%lld",&a[i]);
ma=max(ma,a[i]);
cnt[a[i]]++;
mi=min(mi,a[i]);
s+=a[i];
}
for(int i=mi;i*2<=s;i++)
if(s%i==0)dfs(0,ma,0,i);
printf("%lld",s);
return 0;
}