#include<bits/stdc++.h>
using namespace std;
int n,m,s;
int a[1000000];
int main(){
freopen("ntarsis_set.in","r",stdin);
freopen("ntarsis_set.out","w",stdout);
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
}
if(a[1]!=1){
cout<<1;
return 0;
}
long long i=1;
long long jump=0;//已经用过的删除数
long long ans=1;//枚举删后的最小值
while(m--){
ans+=jump;//跳过之前被删的数
while(i<=n){
if(a[i]<=ans){
ans++;
jump++;
i++;//能删就往后推
}else{
break;
}
}
}///////////////////O(?)好像不大
cout<<ans;
return 0;
}