#include <stdio.h>
#include <cstdlib>
#include <algorithm>
using namespace std;
int v[3000003],n,k,gasit;
void dvd(int st,int dr,int &m)
{
int i, pm=st, is=st, id;
for(i=st; i<=dr; i++)
if(v[i]<v[m])
pm++;
id=pm;
v[m]=v[m]^v[pm]^(v[pm]=v[m]);
while((is<pm)&&(id<dr))
{
while(v[pm]>=v[is])is++;
while(v[pm]<=v[id])id++;
v[id]=v[id]^v[is]^(v[is]=v[id]);
id++;
is++;
}
m=pm;
}
void quick(int st,int dr)
{
int m=rand()%(dr-st+1)+st;
if((st<=dr)&&(!gasit))
{
dvd(st,dr,m);
if(m>k)
quick(st,m-1);
else
if(m<k)
quick(m+1,dr);
else
gasit=v[m];
}
}
int main()
{
FILE *f,*g;
int i,x;
f=fopen("sdo.in","r");
fscanf(f,"%d %d",&n,&k);
for(i=1; i<=n; i++)
fscanf(f,"%d", &v[i]);
fclose(f);
gasit=0;
quick(1,n);
g=fopen("sdo.out","w");
fprintf(g,"%d",gasit);
fclose(g);
return 0;
}