#include <iostream>
using namespace std;
int n;
void swap(int *a, int *b)
{
int temp= *a;
*a=*b;
*b=temp;
}
int partition(int a[], int low, int high)
{
int i=low-1,temp;
int cmp= a[high];
for(int j=low;j<=high-1;j++)
{
if(a[j]<=cmp)
{
i++;
swap(&a[i],&a[j]);
}
}
swap(&a[i+1],&a[high]);
return (i+1);
}
int quicksort(int a[], int low, int high, int m)
{
if(low<=high && (high-low+1)>=m)
{
int pivot= partition(a,low,high);
//cout<<pivot<<endl;
if((high-pivot)== m-1)
return a[pivot];
else if((high-pivot)>m-1)
return quicksort(a,pivot+1,high, m);
else
return quicksort(a,low,pivot-1, m-(high-pivot+1));
}
}
int main() {
// your code goes here
cin>>n;
int a[n+1],i;
for(i=0;i<n;i++)
cin>>a[i];
cout<<quicksort(a,0,n-1,3)<<endl;
/* cout<<"The sorted array is : ";
for(i=0;i<n;i++)
cout<<a[i]<<" ";
*/
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG47Cgp2b2lkIHN3YXAoaW50ICphLCBpbnQgKmIpCnsKCWludCB0ZW1wPSAqYTsKCSphPSpiOwoJKmI9dGVtcDsKfQoKaW50IHBhcnRpdGlvbihpbnQgYVtdLCBpbnQgbG93LCBpbnQgaGlnaCkKewoJaW50IGk9bG93LTEsdGVtcDsKCWludCBjbXA9IGFbaGlnaF07CgkKCWZvcihpbnQgaj1sb3c7ajw9aGlnaC0xO2orKykKCXsKCQlpZihhW2pdPD1jbXApCgkJewoJCQlpKys7CgkJCXN3YXAoJmFbaV0sJmFbal0pOwoJCQkKCQl9Cgl9CgkKCXN3YXAoJmFbaSsxXSwmYVtoaWdoXSk7CgkKCXJldHVybiAoaSsxKTsKCQp9CgppbnQgcXVpY2tzb3J0KGludCBhW10sIGludCBsb3csIGludCBoaWdoLCBpbnQgbSkKewoJaWYobG93PD1oaWdoICYmIChoaWdoLWxvdysxKT49bSkKCXsKCQlpbnQgcGl2b3Q9IHBhcnRpdGlvbihhLGxvdyxoaWdoKTsKCQkvL2NvdXQ8PHBpdm90PDxlbmRsOwoJCQoJCWlmKChoaWdoLXBpdm90KT09IG0tMSkKCQkgcmV0dXJuIGFbcGl2b3RdOwoJCSAKCQllbHNlIGlmKChoaWdoLXBpdm90KT5tLTEpCgkJcmV0dXJuIHF1aWNrc29ydChhLHBpdm90KzEsaGlnaCwgbSk7CgkJZWxzZQoJCXJldHVybiBxdWlja3NvcnQoYSxsb3cscGl2b3QtMSwgbS0oaGlnaC1waXZvdCsxKSk7Cgl9Cn0KCgppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCWNpbj4+bjsKCWludCBhW24rMV0saTsKCWZvcihpPTA7aTxuO2krKykKCSBjaW4+PmFbaV07CgkgCgljb3V0PDxxdWlja3NvcnQoYSwwLG4tMSwzKTw8ZW5kbDsKCQovKgljb3V0PDwiVGhlIHNvcnRlZCBhcnJheSBpcyA6ICI7Cglmb3IoaT0wO2k8bjtpKyspCgkgY291dDw8YVtpXTw8IiAiOwoqLwkgCglyZXR1cm4gMDsKfQ==