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