#include<bits/stdc++.h>
using namespace std;
int ans=0,k,n,a[5000001];
inline int read(){
int x=0,f=1;
char c=getchar();
while(c<'0'||c>'9'){
if(c=='-')f=-1;
c=getchar();
}
while(c>='0'&&c<='9'){
x=(x<<1)+(x<<3)+(c^48);
c=getchar();
}
return x*f;
}
void findk(int l,int r){
if (l==r){
ans=a[l];
return ;
}
int i=l;
int j=r;
int f=a[(1+r)/2];
int t;
do {
while (a[i]<f)i++;
while (a[j]>f)j--;
if (i<=j){
t=a[i];
a[i]=a[j];
a[j]=t;
i++;
j--;
}
}while(i<=j);
if (k<=j)
findk(l,j);
else if (i<=k)
findk(i,r);
else findk(j+1,i-1);
}
int main(){
n=read();
k=read();
for(register int i=0;i<n;++i) a[i]=read();
findk(0,n-1);
printf("%d",ans);
return 0;
}```