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.*;
import java.util.*;

public class P900C
{
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
        PrintWriter out = new PrintWriter(System.out);

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

        boolean[] maximum = new boolean[n];
        int[] covered = new int[n];
        int[] location = new int[n + 1];
        // boolean[] secondMaximum = new boolean[n];
        // TreeSet<Integer> sec = new TreeSet<Integer>();
        maximum[0] = true;
        int top1 = numbers[0];
        int top2 = -1;
        int s = 1;
        location[numbers[0]] = 0;
        for(int i = 1; i < n; ++i)
        {
            location[numbers[i]] = i;
            if(numbers[i] > top1)
            {
                maximum[i] = true;
                top2 = top1;
                top1 = numbers[i];
                ++s;
            }
            else if(numbers[i] > top2)
            {
                // secondMaximum[i] = true;
                top2 = numbers[i];
                // sec.add(numbers[i]);
                ++covered[location[top1]];
            }
        }

        int ans = -1;
        int removed = n + 1;
        for(int i = 0; i < n; ++i)
        {
            int t = s;
            if(maximum[i])
            {
                t -= 1;
            }

            t += covered[i];

            // sec.remove(numbers[i]);

            if(t > ans || t == ans && removed > numbers[i])
            {
                ans = t;
                removed = numbers[i];
            }
        }

        out.println(removed);

        out.close();
    }
}
