n soldiers stand in a circle. For each soldier his height ai is known. A reconnaissance unit can be made of such two neighbouring soldiers, whose heights difference is minimal, i.e. |ai - aj| is minimal. So each of them will be less noticeable with the other. Output any pair of soldiers that can form a reconnaissance unit.

Input

The first line contains integer n (2 ≤ n ≤ 100) — amount of soldiers. Then follow the heights of the soldiers in their order in the circle — n space-separated integers a1, a2, ..., an (1 ≤ ai ≤ 1000). The soldier heights are given in clockwise or counterclockwise direction.

Output

Output two integers — indexes of neighbouring soldiers, who should form a reconnaissance unit. If there are many optimum solutions, output any of them. Remember, that the soldiers stand in a circle.

Examples

Input

5
10 12 13 15 10


Output

5 1


Input

4
10 20 30 40


Output

1 2
/*import java.util.*;
public class Fin{
	public static void main(String[] args){
		Scanner in = new Scanner(System.in);
		String s1 = in.next();
		int n = in.nextInt();

		String[] s = new String[n];
		int c=0;

		for(int i=0;i<n;i++){
			s[i] = in.next();//.replace(s1,"");
			if(s1.equals(s[i].substring(0, s1.length())))
				c++;
			s[i] = s[i].replace(s1,"");
		}
		
		

		if(c==0)
			System.out.println(s1);
		else{
		Arrays.sort(s);
		System.out.println(s1+s[0]);}
	}
}*/





































import java.util.*;
public class Fin{
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int n = in.nextInt();

		int[] s = new int[n];
		int[] q = new int[n];
		for(int i=0;i<n;i++){
			s[i]=in.nextInt();
		}
		for(int i=0;i<=n-1;i++){
			if(i==(n-1))
			q[i] = Math.abs(s[i]-s[0]);
			else	
			q[i] = Math.abs(s[i]-s[i+1]);
		}
		int min = q[0];

		int index = 0;
		for(int i=1;i<n;i++){
			if(q[i]<min){
				min=q[i];
				index = i;
			}

		}

		if(index==(n-1))
			System.out.println((n)+" "+1);
		else 
			System.out.println((index+1)+" "+(index+2));

		
	}
}