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
# -*- coding:utf-8 -*-
#[n, m] = [int(x) for x in raw_input().split()]

def some_func():
    """
    """
    n = input()
    n_list = [int(x) for x in raw_input().split()]
    temp = 10000000000
    temp_list = []

    for i in range(n):
        if n_list[i] < temp:
            temp_list = []
            temp = n_list[i]
            temp_list.append(i)
        elif n_list[i] ==temp:
            temp_list.append(i)
    lit = []
    for i in range(len(temp_list)-1):
        lit.append(temp_list[i+1]-temp_list[i])
    lit.sort()
    return lit[0]



if __name__ == '__main__':
    print some_func()


