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 java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.StringTokenizer;

public class A911 {
	public static void main(String args[])throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer str =  new StringTokenizer(br.readLine());
		PrintWriter out = new PrintWriter(System.out);
		int n = Integer.parseInt(str.nextToken());
		int a[] = new int[n];
		int min = Integer.MAX_VALUE;
		str = new StringTokenizer(br.readLine());
		int counter = 0;
		for(int i=0; i<n; i++) {
			a[i] = Integer.parseInt(str.nextToken());
			if(a[i] < min) {
				min = a[i];
				counter = 0;
			}
			if(a[i] == min) {
				counter++;
			}
		}
		int indices[] = new int[counter];
		int j = 0;
		for(int i=0; i<n; i++) {
			if(a[i] == min) {
				indices[j++] = i;
			}
		}
		int minIndex = Integer.MAX_VALUE;
		for(int i=1; i<j; i++) {
			if(indices[i] - indices[i-1] < minIndex)
				minIndex = indices[i] - indices[i-1];
		}
		out.println(minIndex);
		out.flush();
	}
}
