#include <bits/stdc++.h>
using namespace std;
const int N = 105;
long long n, k;
long long sum, a[N], maxd;
long long ans;
int main() {
  scanf("%lld%lld", &n, &k);
  for (register int i = 1; i <= n; i++) {
    scanf("%lld", &a[i]);
    sum += a[i];
    a[i]--;
    maxd = max(maxd, a[i]);
  }
  sum += k;
  for (register long long d = sqrt(sum); d >= 1; d--) {
    long long tot = 0;
    for (register int i = 1; i <= n; i++) {
      tot += a[i] / d;
    }
    tot += n;
    tot *= d;
    if (tot <= sum) ans = max(ans, d);
    long long d1 = sum / d;
    tot = 0;
    for (register int i = 1; i <= n; i++) {
      tot += a[i] / d1;
    }
    tot += n;
    tot *= d1;
    if (tot <= sum) ans = max(ans, d1);
  }
  printf("%lld", ans);
  return 0;
}
