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
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
import java.util.*;

/**
 *
 * @author karim
 */
public class AReconnaissance2CF {

    public static void main(String[] args) {
        Scanner cin = new Scanner(System.in);
        Vector<Integer> numbers = new Vector<>();
        int t = cin.nextInt() , number , min = Integer.MAX_VALUE , idx1 = -1 , idx2 = -1;
        for( int  i = 0 ; i< t; i++){
            number = cin.nextInt();
            numbers.add(number);
        }
        for(int i = 1 ; i < numbers.size(); i++)
                if( (Math.abs(numbers.get(i)-numbers.get(i-1))) < min ){
                    min = Math.abs(numbers.get(i)-numbers.get(i-1));
                    idx1 = i;
                    idx2 = i+1;
                }
                if((Math.abs(numbers.get(numbers.size()-1)-numbers.get(0))) < min){
                    idx1 = 1;
                    idx2 = numbers.size();
                }
         
     System.out.println((idx1) + " "+ (idx2));
    }
}
