#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = 1e5+10;
int a[N],m;
long long s[N];
int n;
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>a[i];
sort(a+1,a+1+n,greater<int>());
for(int i=1;i<=n;i++){
s[i]=s[i-1]+a[i];
}
for(int h=n;h>=0;h--){
int r=h,l=h-m;
if(a[r]>=h-1&&(l<=0||a[l]>=h)){
cout<<h;
break;
}
}
return 0;
}