#include<bits/stdc++.h>
#define ll long long
using namespace std;
int n;ll a[100000],b[100000];ll ans=0;ll k;
void update(ll p){ll t=0;ll t1=t;
	for(int i=1;i<=n;i++){
		b[i]=a[i]%p;t+=b[i];
	}
	sort(b+1,b+1+n,greater<ll>());t1=t;
	for(int i=1;i<=t1/p;i++){
		t-=b[i];
	
	}if(t<=k) {
			ans=max(ans,p);return;	}
}
int main(){
	scanf("%d%lld",&n,&k);ll sum=0;
	for(int i=1;i<=n;i++){
		scanf("%lld",&a[i]);sum+=a[i];
	}
	for(ll i=1;i*i<=sum;i++){
		if(sum%i==0){
			update(i);
			update(sum/i);
		}
	}cout<<ans;
}