You are given a permutation p of length n. Remove one element from permutation to make the number of records the maximum possible.

We remind that in a sequence of numbers a1, a2, ..., ak the element ai is a record if for every integer j (1 ≤ j < i) the following holds: aj < ai. 

Input

The first line contains the only integer n (1 ≤ n ≤ 105) — the length of the permutation.

The second line contains n integers p1, p2, ..., pn (1 ≤ pi ≤ n) — the permutation. All the integers are distinct.

Output

Print the only integer — the element that should be removed to make the number of records the maximum possible. If there are multiple such elements, print the smallest one.

Examples

Input

1
1


Output

1


Input

5
5 1 2 3 4


Output

5

Note

In the first example the only element can be removed.
// CodeForces Round #673 A competition

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;

public class RemoveExtraOne {
	
	class TwoTop {
		int max;
		int nxt;
		
		TwoTop() {
			max = 0;
			nxt = 0;
		}
		
		int addNumb(int a) {
			if (a>max) {
				nxt = max;
				max = a;
				return 0; 
			} else if (a<max && a>nxt) {
				nxt = a;
				return max;				
			} else if (a < nxt) {
				return -1;
			} else {
				throw new IllegalStateException("illegal a = " + a);
			}
		}
	}

	int n;
	int []p;
	int rem;

	private void readData(BufferedReader bin) throws IOException {
		String s = bin.readLine();
		String []ss = s.split(" ");
		n = Integer.parseInt(ss[0]);
		// read t
		p = new int[n];
		s = bin.readLine();
		ss = s.split(" ");
		for (int i=0; i<n; i++) {
			p[i] = Integer.parseInt(ss[i]);
		}		
	}

	void printRes() {
		System.out.println(rem);
	}	

	private void calculate() {
		rem = 1;
		TwoTop tt = new TwoTop();
		int []ra = new int[n+1];  // influence on sum ratings, > better
		int maxp = -1;
		for (int i=0; i<n; i++) {
			if (p[i]>maxp) {
				maxp = p[i];
				ra[maxp] ++;
			}
		}
		for (int i=0; i<n; i++) {
			int prem = tt.addNumb(p[i]);
			if (prem>0) {
				ra[prem]--;
			} 
		}
		int minrem = 5;
		for (int i=1; i<=n; i++) {
			if (ra[i]<minrem) {
				minrem = ra[i];
				rem = i;
			} 
		}
		
	}

	public static void main(String[] args) throws IOException {
		// BufferedReader bin = new BufferedReader(new FileReader("cactus.in"));
		BufferedReader bin = new BufferedReader(
				new InputStreamReader(System.in));
		RemoveExtraOne l = new RemoveExtraOne();
		l.readData(bin);
		l.calculate();
		l.printRes();
	}
}
