You are given an array a consisting of n integers a_1, a_2, ..., a_n.

Your problem is to find such pair of indices i, j (1 ≤ i < j ≤ n) that lcm(a_i, a_j) is minimum possible.

lcm(x, y) is the least common multiple of x and y (minimum positive number such that both x and y are divisors of this number).

Input

The first line of the input contains one integer n (2 ≤ n ≤ 10^6) — the number of elements in a.

The second line of the input contains n integers a_1, a_2, ..., a_n (1 ≤ a_i ≤ 10^7), where a_i is the i-th element of a.

Output

Print two integers i and j (1 ≤ i < j ≤ n) such that the value of lcm(a_i, a_j) is minimum among all valid pairs i, j. If there are multiple answers, you can print any.

Examples

Input


5
2 4 8 3 6


Output


1 2


Input


5
5 2 11 3 7


Output


2 4


Input


6
2 5 10 1 10 2


Output


1 4
import java.util.*;
import java.io.*;
public class Solution1{

	static long ans=(long)1e18, left=-1,right=-1;
	public static void check(long a, long l, long r){
		if(a<ans){
			ans=a;
			left=l;
			right=r;
		}
	}

	public static void main(String args[]){
		Scanner in=new Scanner(new BufferedReader(new InputStreamReader(System.in)));

		int n=in.nextInt();

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

		int index[]=new int[10000001];
		for(int i=0; i<n; i++){
			if(index[a[i]]!=0)
				check(a[i], index[a[i]], i+1);
			index[a[i]]=i+1;
		}

		for(int i=1; i<=1000_0000; i++){

			int count=0,lower=-1;
			for(int j=i; j<=1000_0000; j+=i){
				if(index[j]!=0){
					if(count==0){
						count+=1;
						lower=index[j];
					}
					else{
						check((long)a[lower-1]/i*a[index[j]-1], lower, index[j]);
						break;
					}
				}
			}
		}

		System.out.println(Math.min(left,right)+" "+Math.max(left,right));
	}
}