#include <iostream>
#include<bits/stdc++.h>

using namespace std;
  
  
  
    int findMin(vector<int>& nums) {
        int n = nums.size();
        int low=0;
        int high=n-1;
        while(low<=high){
            int mid = low+(high-low)/2;
            if(mid>0 && nums[mid-1]>nums[mid]){
                return nums[mid];
            }
            if(mid<n-1 && nums[mid]>nums[mid+1]){
                return nums[mid+1];

            }

            if(nums[mid]>nums[n-1]){
                low=mid+1;
            }
            else{
                high=mid-1;

            }
        }
        return nums[0];
    }



int main() {
	// your code goes here
	int n;
	cin>>n;
	vector<int> nums(n);
	for(int i=0;i<n;i++){
		cin>>nums[i];
		
	}
	
	cout<<findMin(nums);
	
	return 0;
}