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.util.*;
import java.io.*;
public class NearestMinimum{
	public static void main(String []args) throws Exception{
		
		java.io.InputStreamReader isr=new java.io.InputStreamReader(System.in);
		java.io.BufferedReader br=new java.io.BufferedReader(isr);
		
		int n=Integer.parseInt(br.readLine());
		String []str=br.readLine().split(" ");
		int []arr=new int[n];
		int []arrSort=new int[n];
		for(int i=1;i<=arr.length;i++){
			arr[i-1]=Integer.parseInt(str[i-1]);
			arrSort[i-1]=arr[i-1];
		}
		Arrays.sort(arrSort);
		int minDist=arr.length,dist=0,smallest=arrSort[0],index1=-1,index2=-1,flag=0;
		for(int i=1;i<=arr.length;i++){
			if(arr[i-1]==smallest && flag==0){
				index1=i-1;
				flag=1;
			}else if(arr[i-1]==smallest && flag==1){
				index2=i-1;
				dist=index2-index1;
				if(dist<minDist){
					minDist=dist;
				}
				index1=index2;
			}
			
		}
		System.out.println(minDist);
		
	}
}