#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<ll, ll> pll;
#define x first
#define y second
void Kisara() {
ll n,l;
cin>>n>>l;
vector<ll> c(n+5);
for(ll i=1;i<=n;i++){
cin>>c[i];
}
vector<ll> cnt(n+5);
sort(c.begin()+1,c.begin()+n+1);
for(ll i=1;i<=n;i++){
if(c[i]>=1){
cnt[1]++;
cnt[c[i]+1]--;
}
}
for(ll i=1;i<=n;i++){
cnt[i]+=cnt[i-1];
}
cnt[0]=n;
for(ll i=n;i>=1;i--){
ll xz=cnt[i-1]-cnt[i];
if(cnt[i]+min(xz,l)>=i){
cout<<i<<endl;
return;
}
}
cout<<"0"<<endl;
}
int main() {
ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
Kisara();
return 0;
}