#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
int n,m;
int a[60];
bool ck(int x){//x为组成的套数
int cnt=0;
for(int i=0;i<n;i++){
if(x>a[i])cnt+=x-a[i];
if(cnt>m||cnt>x)return 0;
}
return 1;
}
int main(){
cin>>n>>m;
for(int i=0;i<n;i++)cin>>a[i];
sort(a,a+n);
int l=0,r=1e9;
while(l+1!=r){
int mid=(l+r)>>1;
if(ck(mid))l=mid;
else r=mid;
}
cout<<l;
return 0;
}