You are given an array of n integer numbers a0, a1, ..., an - 1. Find the distance between two closest (nearest) minimums in it. It is guaranteed that in the array a minimum occurs at least two times.

Input

The first line contains positive integer n (2 ≤ n ≤ 105) — size of the given array. The second line contains n integers a0, a1, ..., an - 1 (1 ≤ ai ≤ 109) — elements of the array. It is guaranteed that in the array a minimum occurs at least two times.

Output

Print the only number — distance between two nearest minimums in the array.

Examples

Input

2
3 3


Output

1


Input

3
5 6 5


Output

2


Input

9
2 1 3 5 4 1 2 3 1


Output

3
import sys
import math
import collections
from pprint import pprint as pp
mod = 1000000007
MAX = 10**18


def array():
    return list(map(int, input().split()))


def vector(size, val=0):
    vec = [val for i in range(size)]
    return vec


def matrix(rowNum, colNum, val=0):
    mat = []
    for i in range(rowNum):
        collumn = [val for j in range(colNum)]
        mat.append(collumn)
    return mat


n = int(input())
a = array()
mn = min(a)
ans = MAX
indx = -1
for i in range(n):
    if a[i] == mn:
        indx = i
        break
for i in range(indx + 1, n):
    if a[i] == mn:
        ans = min(ans, i - indx)
        indx = i
print(ans)
