#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;
}