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