#include<cstdio>
#include<cstdlib>
#include<ctime>
using namespace std;
#define NMAX 3000005
int n,k,aux,v[NMAX];
int poz(int st, int dr)
{
int ii=0,jj=1,p=st+rand()%(dr-st+1);
aux=v[p], v[p]=v[st], v[st]=aux;
while (st<dr)
{
if (v[st]>v[dr])
{
aux=v[st], v[st]=v[dr], v[dr]=aux;
aux=ii, ii=jj, jj=aux;
}
st+=ii, dr-=jj;
}
return st;
}
int sdo()
{
int st=1,dr=n,p;
while (st<dr)
{
p=poz(st,dr);
if (p==k)
return v[k];
if (p>k)
dr=p-1;
else
st=p+1;
}
return v[st];
}
int main()
{
int i;
freopen("sdo.in","r",stdin);
freopen("sdo.out","w",stdout);
srand(time(0));
scanf("%d%d",&n,&k);
for (i=1;i<=n;++i)
scanf("%d",&v[i]);
printf("%d\n",sdo());
return 0;
}