#include<bits/stdc++.h>
using namespace std;

int main()
{
  int n,k;
  cin>>n>>k;
  vector<int> a(n);
  for (int i = 0; i < n; ++i)
  {
    cin>>a[i];
  }
  int sum=0;
  for(auto &e: a) {
    sum+=e;
  }
  std::vector<int> div;
  for (int i = 1; i <= sqrt(sum); ++i)
  {
    if(sum%i==0) {
      div.push_back(i);
      div.push_back(sum/i);
    }
  }
  sort(div.begin(),div.end());
  int ans;
  for(auto &e: div) {
    std::vector<int> tmp;
    for(auto &f: a) {
      tmp.push_back(f%e);
    }
    int tmp_sum=0;
    for(auto &g: tmp) {
      tmp_sum+=g;
    }
    if(tmp_sum%e!=0) continue;
    sort(tmp.begin(), tmp.end(),greater<int>());
  
    tmp.erase(tmp.begin(),tmp.begin()+tmp_sum/e);
    int sum2=0;
    for(auto &h: tmp) {
      sum2+=h;
    }
    if(sum2<=k) ans=e;
  }
  cout<<ans;
}