#include <fstream>
#include <random>
using namespace std;
ifstream fin("sdo.in");
ofstream fout("sdo.out");
const int N_MAX = 3e6;
int v[N_MAX];
int QuickSelect(int begin, int end, int k) {
while(begin < end){
int b = begin, e = end, pivot = v[begin + rand() % (end - begin)];
while(v[b] < pivot)
++b;
while(v[e] > pivot)
--e;
while(b < e){
int aux = v[b];
v[b] = v[e];
v[e] = aux;
do
++b;
while(v[b] < pivot);
do
--e;
while(v[e] > pivot);
}
if(k - 1 <= e)
end = e;
else
begin = e + 1;
}
return v[k - 1];
}
int main() {
int n, k;
fin >> n >> k;
for(int i = 0; i < n; ++i)
fin >> v[i];
fout << QuickSelect(0, n - 1, k) << '\n';
fin.close();
fout.close();
return 0;
}