#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;
}