#include <bits/stdc++.h>
using namespace std;
int n,l,a[114],uu[114],sum,s;
inline int read(){
int x=0; bool f=1; char c=getchar();
for(;!isdigit(c);c = getchar()) if (c == '-') f = 0;
for(;isdigit(c);c = getchar()) x = (x<<3) + (x<<1) + c - '0';
if (f) return x;
return -x;
}
bool dfs(int now,int c,int la){
if (now > s) return true;
if (c == l) return dfs(now+1,0,1);
int f = 0;
for (int i = la;i <= n;i++){
if (uu[i] || c + a[i] > l || f == a[i]) continue;
uu[i] = 1;
if (dfs(now,c+a[i],i+1)) return true;
f = a[i];
uu[i] = 0;
if (c == 0) return false;
if (c + a[i] == l) return false;
}
return false;
}
bool cmp(int x,int y){
return x > y;
}
int main()
{
n = read();
for (int i = 1;i <= n;i++){
a[i] = read();
sum += a[i];
}
sort(a+1,a+n+1,cmp);
for (l = a[1];l <= sum;l++){
if (sum % l) continue;
s = sum / l;
for (int i = 1;i <= n;i++) uu[i] = 0;
if (dfs(1,0,1)) break;
}
cout << l << endl;
pause;
return 0;
}