#include <iostream>
#include <string>
const int N = 50000010;
int k;
int arr[N];
void swap(int& a, int&b)
{
int temp = a;
a = b;
b = temp;
}
int qu_sort(int arr[], int l, int r, int k)
{
if (l == r)
{
return arr[l];
}
int i = l - 1, j = r + 1, x = arr[l + r >> 1];
while (i < j)
{
do
{
i++;
} while (arr[i] < x);
do
{
j--;
} while (arr[j] > x);
if (i < j)
{
swap(arr[i], arr[j]);
}
}
int len = r - l + 1;
if (k < len)
{
qu_sort(arr, l, j, k);
}
else
{
qu_sort(arr, j + 1, r, k - len);
}
}
int main()
{
int i, n;
scanf("%d %d\n", &n, &k);
for (i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
std::cout << qu_sort(arr, 0, n - 1, k + 1);
system("pause");
return 0;
}