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.*;
    import java.util.*;
    import java.math.*;
    import java.lang.*;

    import static java.lang.Math.*;

    public class Main implements Runnable
    {
    	static class InputReader
    	{
    		private InputStream stream;
    		private byte[] buf = new byte[1024];
    		private int curChar;
    		private int numChars;
    		private SpaceCharFilter filter;
    		private BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

    		public InputReader(InputStream stream)
    		{
    			this.stream = stream;
    		}

    		public int read()
    		{
    			if (numChars==-1)
    				throw new InputMismatchException();

    			if (curChar >= numChars)
    			{
    				curChar = 0;
    				try
    				{
    					numChars = stream.read(buf);
    				}
    				catch (IOException e)
    				{
    					throw new InputMismatchException();
    				}

    				if(numChars <= 0)
    					return -1;
    			}
    			return buf[curChar++];
    		}

    		public String nextLine()
    		{
    			String str = "";
                try
                {
                    str = br.readLine();
                }
                catch (IOException e)
                {
                    e.printStackTrace();
                }
                return str;
    		}
    		public int nextInt()
    		{
    			int c = read();

    			while(isSpaceChar(c))
    				c = read();

    			int sgn = 1;

    			if (c == '-')
    			{
    				sgn = -1;
    				c = read();
    			}

    			int res = 0;
    			do
    			{
    				if(c<'0'||c>'9')
    					throw new InputMismatchException();
    				res *= 10;
    				res += c - '0';
    				c = read();
    			}
    			while (!isSpaceChar(c));

    			return res * sgn;
    		}

    		public long nextLong()
    		{
    			int c = read();
    			while (isSpaceChar(c))
    				c = read();
    			int sgn = 1;
    			if (c == '-')
    			{
    				sgn = -1;
    				c = read();
    			}
    			long res = 0;

    			do
    			{
    				if (c < '0' || c > '9')
    					throw new InputMismatchException();
    				res *= 10;
    				res += c - '0';
    				c = read();
    			}
    			while (!isSpaceChar(c));
    				return res * sgn;
    		}

    		public double nextDouble()
    		{
    			int c = read();
    			while (isSpaceChar(c))
    				c = read();
    			int sgn = 1;
    			if (c == '-')
    			{
    				sgn = -1;
    				c = read();
    			}
    			double res = 0;
    			while (!isSpaceChar(c) && c != '.')
    			{
    				if (c == 'e' || c == 'E')
    					return res * Math.pow(10, nextInt());
    				if (c < '0' || c > '9')
    					throw new InputMismatchException();
    				res *= 10;
    				res += c - '0';
    				c = read();
    			}
    			if (c == '.')
    			{
    				c = read();
    				double m = 1;
    				while (!isSpaceChar(c))
    				{
    					if (c == 'e' || c == 'E')
    						return res * Math.pow(10, nextInt());
    					if (c < '0' || c > '9')
    						throw new InputMismatchException();
    					m /= 10;
    					res += (c - '0') * m;
    					c = read();
    				}
    			}
    			return res * sgn;
    		}

    		public String readString()
    		{
    			int c = read();
    			while (isSpaceChar(c))
    				c = read();
    			StringBuilder res = new StringBuilder();
    			do
    			{
    				res.appendCodePoint(c);
    				c = read();
    			}
    			while (!isSpaceChar(c));

    			return res.toString();
    		}

    		public boolean isSpaceChar(int c)
    		{
    			if (filter != null)
    				return filter.isSpaceChar(c);
    			return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
    		}

    		public String next()
    		{
    			return readString();
    		}

    		public interface SpaceCharFilter
    		{
    			public boolean isSpaceChar(int ch);
    		}
    	}

    	public static void main(String args[]) throws Exception
    	{
    		new Thread(null, new Main(),"Main",1<<26).start();
    	}
        //User-defined functions goes here...
    	public void run()
    	{
    		InputReader scan= new InputReader(System.in);
    		PrintWriter w= new PrintWriter(System.out);

            int n=scan.nextInt();
            long arr[]=new long[n];
            for(int i=0; i<n; i++)
                arr[i]=scan.nextLong();
            
            long min=1000000000+1;
            for(int i=0;  i<n;  i++){
               if(arr[i]<min)
                min=arr[i];
            }
            int mindis=n, lasti=-1;
            
            for(int i=0; i<n; i++){
                if(arr[i]==min){
                  if(lasti==-1){
                    lasti=i;
                    continue;
                  }
                  else{
                    if(mindis>i-lasti)
                        mindis=i-lasti;
                        lasti=i;
                  }
                }
            }
            w.println(mindis);
       		//Your code goes here...



    		w.close();
    	}
    }
