#include <iostream>
#include <fstream>
#include <cstdlib>
#include <ctime>
using namespace std;
int N,K,a[3000000];
int kth_order(int *a, int sz, int k){
if (sz==1) return a[0];
int i,ind,cnt_eq=0;
swap(a[0],a[rand()%sz]);
ind=0;
for (i=0; i<sz; i++){
if (a[i]==a[0]) cnt_eq++;
if (a[i]<=a[0])
swap(a[i],a[ind]), ind++;
}
if (ind-cnt_eq<k && ind>=k) return a[0];
if (ind>k) return kth_order(a,ind,k);
else return kth_order(a+ind,sz-ind,k-ind);
}
int main(){
srand(time(NULL));
ifstream fin("sdo.in");
ofstream fout("sdo.out");
fin >> N >> K;
int i;
for (i=0; i<N; i++) fin >> a[i];
fout << kth_order(a,N,K) << "\n";
return 0;
}