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.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class problem {

	public static void main(String[] args) throws IOException  {
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int number_of_soliders = Integer.parseInt(br.readLine());
		String []hights = br.readLine().split("\\s");
		ArrayList<Integer> circle1 = new ArrayList<Integer>();
		for(int i = 0 ; i < number_of_soliders ; i++) {
			circle1.add(Integer.parseInt(hights[i]));
		}
		int index1 = 0 , index2 = 0 , answer = Math.abs(circle1.get(0) - circle1.get(number_of_soliders-1));
		boolean f = true;
		for(int k = 0 ; k <=number_of_soliders-2 ; k++) {
			int currNumber = Math.abs(circle1.get(k) - circle1.get(k+1));
			
				if(currNumber<answer) {
					answer = currNumber;
					index1 = k;
					index2 = k+1;
					f = false;
				}
			
		}
		if(f) System.out.println("1 " + number_of_soliders );
		else System.out.println(index1 +1+ " " + (index2+1));
	}
}