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
n = int(input())
li = tuple((map(int, input().split())))
li1 = []
diff = []
i = 0
flag = 0
flag1 = 0
for i in range(len(li)):
    try:
        diff.append(abs(li[i] - li[i + 1]))
        li1.append([li[i], li[i + 1]])
    except IndexError:
        diff.append(abs(li[i] - li[0]))
        li1.append([li[i], li[0]])
for i in range(n):
    try:
        if li[i % n] == li[(i % n) + 1]:
            print(i % n + 1, (i % n) + 2)
            flag = 1
            flag1 = 1
            break
    except IndexError:
        if li[i % n] == li[(i + 1) % n]:
            print(i % n + 1, (i + 1) % n + 1)
            flag = 1
            flag1 = 1
            break
if flag1 == 0:
    min_m = min(diff)
    # print(diff.index(min_m) % n, diff.index(min_m)+1 % n)
    if (diff.index(min_m) + 1 % n) + 1 <= n:
        print((diff.index(min_m) % n) + 1, ((diff.index(min_m) + 1 % n) + 1))
    else:
        print((diff.index(min_m) % n) + 1, 1)
# print(diff)
# print(diff.index(min_m))
# print(li[80], li[81])
