#include <fstream>
#include <iostream>
#include <vector>
int
f(std::vector <int>& v,
int b,
int e,
int k)
{
if (b > e)
{
return -1;
}
int i = b + 1;
int j = e;
while (i <= j)
{
while (i <= j and v[i] <= v[b])
{
i++;
}
while (i <= j and v[b] <= v[j])
{
j--;
}
if (i < j)
{
std::swap(v[i], v[j]);
}
}
std::swap(v[j], v[b]);
if (j - b == k)
{
return v[j];
}
else if (j - b > k)
{
return f(v, b, j - 1, k);
}
return f(v, i, e, k - j + b - 1);
}
int main()
{
std::ifstream in("sdo.in");
std::ofstream out("sdo.out");
int N;
int k;
in >> N;
in >> k;
std::vector <int> v(N);
for (int i = 0; i < N; i++)
{
in >> v[i];
}
out << f(v, 0, N - 1, k - 1);
return 0;
}