#include<iostream>
using namespace std;
int partition(int* A, int low, int high) {
int temp = A[low];
int i = low;
int j = high;
while (i < j) {
while (i < j && A[j] > temp)j--;
if (i < j) { A[i] = A[j]; i++; }
while (i < j && A[i] < temp)i++;
if (i < j) { A[j] = A[i]; j--; }
}
A[i] = temp;
return i;
}
int best_sort_k(int *A,int x,int y,int k){
/*
A 序列
x 首索引
y 末尾索引
k 找第几大的元素
*/
/********** Begin **********/
int i = partition(A, x, y);
if (i == k - 1) {
return A[i];
}
else if (i < k - 1) {
return best_sort_k(A, i + 1, y, k);
}
else{
return best_sort_k(A, x, i - 1, k);
}
/********** End **********/
}
int main(){
int n;
cin>>n;
int a[n];
for(int i=0;i<n;i++) cin>>a[i];
int k,k_value;
cin>>k;
k_value=best_sort_k(a,0,n-1,k);
cout<<k_value<<endl;
return 0;
}