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.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.Arrays;
import java.util.Scanner;


public class Main {

    private static int[] recursiveSearch(int[] a, int[] choosenNumbers, int sumA, int sumB) {
        int[] retArr = null;
        /*for (int i = 0; i < choosenNumbers.length; i++) {

        }*/
        return retArr;
    }

    public static void main(String[] args) throws IOException {
        Scanner in = new Scanner(System.in);
        String[] arr;
        int[] resultArr;
        int a, x, y, b, c, k, n, paper, rounds, maxNum, p, countStrings = 0;
        n = in.nextInt();
        resultArr = new int[n];

        for (int i = 0; i < n; i++) {
            resultArr[i] = in.nextInt();
        }

        int[] helpArr = new int[n];
        int[] result = new int[n + 1];
        for (int i = 0; i < n; i++) {
            helpArr[i] = -1;
            result[i] = 0;
        }

        for (int i = 0; i < n; i++) {
            for (int j = i - 1; j >= 0; j--) {
                if (resultArr[i] < resultArr[j]) {
                    if (helpArr[i] == -1) {
                        helpArr[i] = resultArr[j];
                    } else {
                        helpArr[i] = 0;
                        break;
                    }
                }
            }
        }
        int minZero = Integer.MAX_VALUE;
        for (int i = 0; i < n; i++) {
            if (helpArr[i] > 0) {
                result[helpArr[i]]++;
            } else {
                if (helpArr[i] == 0) {
                    minZero = Integer.min(minZero, resultArr[i]);
                }
            }
        }
        int nMax = 1;
        for (int i = 1; i < n + 1; i++) {
            if (result[nMax] < result[i]) {
                nMax = i;
            }
        }
        if (result[nMax] == 0 && minZero != Integer.MAX_VALUE) {
            nMax = minZero;
        } else {
            if (result[nMax] == 1 && nMax > minZero) {
                nMax = minZero;
            }
        }
        //System.out.println(Arrays.toString(helpArr));
        //System.out.println(Arrays.toString(result));
        System.out.println(nMax);


    }

}