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

const int N=60;
int n,c[N],m;
int l=9e18,r=-1;

bool check(int mid){
	int jokernums=0;
	for(int i=1;i<=n;i++){
		if(c[i]<mid) jokernums+=mid-c[i];
	}
	if(jokernums>mid) return false;//一套牌不能有两个joker
	if(jokernums>m) return false;//所需joker数量不能大于拥有的joker数量 
	return true; 
}

void solve(){
	
	int mid,ans;
	while(l<=r){
		mid=l+r>>1;
		if(check(mid)){
			l=mid+1;
			ans=max(ans,mid);
		}else{
			r=mid-1;
		}
	}
	cout<<ans<<endl;
}

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	
	cin>>n>>m;
	
	for(int i=1;i<=n;i++){
		cin>>c[i];
		l=min(l,c[i]);
		r=max(r,c[i]);
	}
	r=m+r;
	solve();
	
	
    return 0;
}