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 D{
    public static void main(String args[]) {
        InputStream  inputStream  = System.in;
        OutputStream outputStream = System.out;
        InputReader in   =  new InputReader(inputStream);
        PrintWriter out  =  new PrintWriter(outputStream);
        Solver solver    =  new Solver( in, out);
        solver.solve();
        out.close();
    }
    static class Solver {
        private InputReader in;
        private PrintWriter out;
        void solve() {
            int n = in.nextInt();
            int [] p = new int[n];
            int [] pp = new int[n + 1];
            for(int i = 0 ; i < n ; i++){
                p[i] = in.nextInt();
            }
            int x = 0, y = 0;
            for(int i = 0 ; i < n ; i++){
                if(p[i] > x){
                    y = x;
                    x = p[i];
                    pp[x]--;
                    continue;
                }
                if(p[i] > y){
                    y = p[i];
                    pp[x]++;
                }
            }
            int Max = -2,pos = 0;
            for(int i = 1 ; i <= n ; i++){
                if(pp[i] > Max){
                    Max = pp[i];
                    pos = i;
                }
            }
            out.println(pos);
        }
        Solver( InputReader i, PrintWriter o) { in = i; out = o; }
    }
    static class InputReader {
        BufferedReader br;
        public InputReader(InputStream stream) {
            br = new BufferedReader(new InputStreamReader(stream));
        }
        public int nextInt() {
            try {
                int c = br.read();
                while (c <= 32) {
                    c = br.read();
                }
                boolean negative = false;
                if (c == '-') {
                    negative = true;
                    c = br.read();
                }
                int x = 0;
                while (c > 32) {
                    x = x * 10 + c - '0';
                    c = br.read();
                }
                return negative ? -x : x;
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }
    }
}


