#include<bits/stdc++.h>
using namespace std;
int k[51],n,ma,sum;
bool dfs(int len,int clen,int i,int kkk){
if(sum==clen)return true;
if(!clen)clen = len,i=ma;
if(sum < clen)return false;
if(i <= 0)return false;
if(sum < 0)return false;
for(int j=0;j<=k[i] && i*j<=clen;j++){
k[i] -= j;clen -= i*j;sum -= i*j;
bool ret = dfs(len,clen,i-1,kkk+1);
k[i] += j;clen += i*j;sum += i*j;
if(clen==i*j && !ret)return false;
if(ret)return true;
}
return false;
}
int main(){
cin>>n;
for(int i=0;i<n;i++){
int t;cin>>t;
k[t]++;
ma = max(ma,t);
sum += t;
}
for(int i=ma;i<=sum;i++){
if(sum%i==0 && dfs(i,i,ma,0)){
cout<<i;break;
}
}
}