#include <bits/stdc++.h>
#define up(i,a,b) for (int i = (int)a; i <= (int)b; i++)
#define down(i,a,b) for (int i = (int)a; i >= (int)b; i--)
using namespace std;

const int maxn = 5e6 + 10;
int Heap[maxn];

void max_HeapifyDown(int Heap[], int n, int i){
    int maxx_id = i;
    int l = (i << 1);
    int r = l+1;

    if (l > n) return;

    if (l <= n && Heap[l] > Heap[maxx_id]) maxx_id = l;
    if (r <= n && Heap[r] > Heap[maxx_id]) maxx_id = r;

    if (maxx_id != i){
        swap(Heap[i], Heap[maxx_id]);
        max_HeapifyDown(Heap, n, maxx_id);
    }
}

void buildMaxHeap(int Heap[], int n){
    for (int i = n/2; i >= 1; i--) max_HeapifyDown(Heap, n, i);
}

int ans[maxn];
void sortArray(int Heap[], int n){
    down(i,n,1) {
        ans[i] = Heap[1];
        swap(Heap[1], Heap[i]);
        max_HeapifyDown(Heap, i-1, 1);
    }
}

void max_HeapifyUp(int Heap[], int n, int curNode){
    int par = curNode/2;
    if (par >= 1){
        if (Heap[curNode] > Heap[par]){
            swap(Heap[curNode], Heap[par]);
            max_HeapifyUp(Heap, n, par);
        }
    }
} 
/*
Heap phai la mot maxHeap moi UpHeapify duoc
*/

void insertNode(int Heap[], int& n, int Key){
    ++n;
    Heap[n] = Key;
    max_HeapifyUp(Heap, n, n);
}

void deleteNode(int Heap[], int& n){
    int last = Heap[n];
    Heap[1] = last;
    --n;
    max_HeapifyDown(Heap, n, 1);
} //xoa topNode cua Heap

void printHeap(int Heap[], int n){
    up(i,1,n) cout << Heap[i] << " ";
    cout << "\n";
}

signed main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    #define Task "A"
    if (fopen(Task".inp", "r")){
        freopen(Task".inp", "r", stdin);
        freopen(Task".out", "w", stdout);
    }

    int n, k;
    cin >> n >> k;
    int curSize = 0;

    int x;
    up(i,1,k){
        cin >> x;
        insertNode(Heap, curSize, x);
    }

    up(i,k+1,n){
        cin >> x;
        if (x > Heap[1]) continue;
        Heap[1] = x;
        max_HeapifyDown(Heap, curSize, 1);
    }

    cout << Heap[1];
}
/*
tim phan thu nho thu k trong mang
vi du: n = 10, k = 3
4 5 6 2 3 1 9 8 7 10
ans = 3

n = 3, k = 2;
3 3 3
ans = 3
*/
