#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define fi first
#define se second
#define MOD 1000000007
#define FOR(i,a,b) for (int i = (a);i <= (b);i++)
#define FOD(i,a,b) for (int i = (b);i >= (a);i--)
#define ALL(x) (x).begin(),(x).end()
#define ii pair<int,int>
#define iii pair<int,pair<int,int>>
//const int MOD = 998244353;
const int MAXN = 3e5 + 7;
ll a[MAXN];
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
//freopen("cardscore.inp","r",stdin);
//freopen("cardscore.out","w",stdout);
ll n,k;cin >> n >> k;
FOR(i,1,n)cin >> a[i];
sort(a + 1,a + 1 + n);
ll tot = 0;
FOR(i,1,n)tot = tot + a[n] - a[i];
// if (tot <= k)return cout << a[n] + (k - tot) / n,0;
int id = n;tot = (tot - a[n] * n) * -1;
FOD(i,1,a[n] + 10000){
while (id > 0 && a[id] > i){
tot = tot - a[id];
id--;
}
ll w = k - i * id + tot;
FOD(j,id + 1,n){
w = w + (a[j] % i == 0 ? i : a[j] % i) - i;
if (w < 0)break;
}
if (w >= 0)return cout << i,0;
}
return 0^0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBNT0QgMTAwMDAwMDAwNwojZGVmaW5lIEZPUihpLGEsYikgZm9yIChpbnQgaSA9IChhKTtpIDw9IChiKTtpKyspCiNkZWZpbmUgRk9EKGksYSxiKSBmb3IgKGludCBpID0gKGIpO2kgPj0gKGEpO2ktLSkKI2RlZmluZSBBTEwoeCkgKHgpLmJlZ2luKCksKHgpLmVuZCgpCiNkZWZpbmUgaWkgcGFpcjxpbnQsaW50PgojZGVmaW5lIGlpaSBwYWlyPGludCxwYWlyPGludCxpbnQ+PgovL2NvbnN0IGludCBNT0QgPSA5OTgyNDQzNTM7CmNvbnN0IGludCBNQVhOID0gM2U1ICsgNzsKbGwgYVtNQVhOXTsKaW50IG1haW4oKXsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CiAgICAvL2ZyZW9wZW4oImNhcmRzY29yZS5pbnAiLCJyIixzdGRpbik7CiAgICAvL2ZyZW9wZW4oImNhcmRzY29yZS5vdXQiLCJ3IixzdGRvdXQpOwogICAgbGwgbixrO2NpbiA+PiBuID4+IGs7CiAgICBGT1IoaSwxLG4pY2luID4+IGFbaV07CiAgICBzb3J0KGEgKyAxLGEgKyAxICsgbik7CiAgICBsbCB0b3QgPSAwOwogICAgRk9SKGksMSxuKXRvdCA9IHRvdCArIGFbbl0gLSBhW2ldOwogICAvLyBpZiAodG90IDw9IGspcmV0dXJuIGNvdXQgPDwgYVtuXSArIChrIC0gdG90KSAvIG4sMDsKICAgIGludCBpZCA9IG47dG90ID0gKHRvdCAtIGFbbl0gKiBuKSAqIC0xOwogICAgRk9EKGksMSxhW25dICsgMTAwMDApewogICAgICAgIHdoaWxlIChpZCA+IDAgJiYgYVtpZF0gPiBpKXsKICAgICAgICAgICAgdG90ID0gdG90IC0gYVtpZF07CiAgICAgICAgICAgIGlkLS07CiAgICAgICAgfQogICAgICAgIGxsIHcgPSBrIC0gaSAqIGlkICsgdG90OwogICAgICAgIEZPRChqLGlkICsgMSxuKXsKICAgICAgICAgICAgdyA9IHcgKyAoYVtqXSAlIGkgPT0gMCA/IGkgOiBhW2pdICUgaSkgLSBpOwogICAgICAgICAgICBpZiAodyA8IDApYnJlYWs7CiAgICAgICAgfQogICAgICAgIGlmICh3ID49IDApcmV0dXJuIGNvdXQgPDwgaSwwOwogICAgfQogICAgcmV0dXJuIDBeMDsKfQ==