#include <bits/stdc++.h>
using namespace std;
int a[1000],n,num,ans,top;
bool b[1000],ok;
int cmp (int xx,int yy){
return xx>yy;
}
void ss(int nz,int sum,int l){
if (sum>nz){
return;
}
if (sum==nz){
ok=1;
return;
}
for (int i=l;i<=n;i++){
if (b[i]==0&&sum+a[i]<=nz){
b[i]=1;
ss(nz,sum+a[i],i);
if (ok==1){
return;
}
b[i]=0;
}
}
}
int main (){
cin>>n;
for (int i=1;i<=n;i++){
cin>>a[i];
top=max(a[i],top);
num+=a[i];
}
sort(a+1,a+n+1,cmp);
for (int j=n;j>0;j--){
if (num/j<top){
continue;
}
if (num%j==0){
for (int i=1;i<=n;i++){
b[i]=0;
}
for (int i=1;i<=j;i++){
ok=0;
ss(num/j,0,1);
if (ok==0){
break;
}
}
if (ok==1){
cout<<num/j;
return 0;
}
}
}
return 0;
}