#include <cstdio>
#include <algorithm>
const int N = 5e6 + 10;
int q[N];
void quick_sort(int q[], long long l, long long r)
{
if (l >= r) return;
int i = l - 1, j = r + 1, x = q[l + r >> 1];
while(i < j)
{
do i ++; while(q[i] < x);
do j --; while(q[j] > x);
if (i < j){
int c = q[i];
q[i] = q[j];
q[j] = c;
}
}
quick_sort(q, l, j);
quick_sort(q, j + 1, r);
}
int main()
{
long long n, m;
scanf("%lld %lld", &n, &m);
for (long long i = 0; i < n; i ++) scanf("%lld", &q[i]);
quick_sort(q, 0, n - 1);
printf("%lld ", q[m]);
return 0;
}
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 5e6 + 10;
int q[N];
void quick_sort(int q[], long long l, long long r)
{
if (l >= r) return ;
int i = l - 1, j = r + 1, x = q[l + r >> 1];
while(i < j)
{
do i ++; while(q[i] < x);
do j --; while(q[j] > x);
if (i < j) swap(q[i], q[j]);
}
quick_sort(q, l, j);
quick_sort(q, j + 1, r);
}
int main()
{
long long n, m;
cin >> n >> m;
for (long long i = 0; i < n; i ++) cin >> q[i];
quick_sort(q, 0, n - 1);
cout << q[m] << '\n';
return 0;
}