import java.util.*;

public class Main {
	public static void main(String[] args) {  
  		Scanner sc = new Scanner(System.in);
      	int N = sc.nextInt();
      	int[] ary = new int[N];
      	boolean hasOdd = false;
      
      	for(int i = 0; i < N; i++) {
        	ary[i] = sc.nextInt();
          	if(ary[i] %2 == 1) hasOdd = true;
        }
      	if(hasOdd) {
        	System.out.println(0);  
        } else {
          	int min = Integer.MAX_VALUE;
			for(int i : ary) {
              	int count = 0;
           		while(i %2 == 0) {
                	i /= 2;
                  	count++;
                }
              	if(count < min) min = count;
            }
          	System.out.println(min);
        }
    }
} import java.util.*; util.* java public class Main {
	public static void main(String[] args) {  
  		Scanner sc = new Scanner(System.in);
      	int N = sc.nextInt();
      	int[] ary = new int[N];
      	boolean hasOdd = false;
      
      	for(int i = 0; i < N; i++) {
        	ary[i] = sc.nextInt();
          	if(ary[i] %2 == 1) hasOdd = true;
        }
      	if(hasOdd) {
        	System.out.println(0);  
        } else {
          	int min = Integer.MAX_VALUE;
			for(int i : ary) {
              	int count = 0;
           		while(i %2 == 0) {
                	i /= 2;
                  	count++;
                }
              	if(count < min) min = count;
            }
          	System.out.println(min);
        }
    }
} Main public static void main(String[] args) {  
  		Scanner sc = new Scanner(System.in);
      	int N = sc.nextInt();
      	int[] ary = new int[N];
      	boolean hasOdd = false;
      
      	for(int i = 0; i < N; i++) {
        	ary[i] = sc.nextInt();
          	if(ary[i] %2 == 1) hasOdd = true;
        }
      	if(hasOdd) {
        	System.out.println(0);  
        } else {
          	int min = Integer.MAX_VALUE;
			for(int i : ary) {
              	int count = 0;
           		while(i %2 == 0) {
                	i /= 2;
                  	count++;
                }
              	if(count < min) min = count;
            }
          	System.out.println(min);
        }
    } main {  
  		Scanner sc = new Scanner(System.in);
      	int N = sc.nextInt();
      	int[] ary = new int[N];
      	boolean hasOdd = false;
      
      	for(int i = 0; i < N; i++) {
        	ary[i] = sc.nextInt();
          	if(ary[i] %2 == 1) hasOdd = true;
        }
      	if(hasOdd) {
        	System.out.println(0);  
        } else {
          	int min = Integer.MAX_VALUE;
			for(int i : ary) {
              	int count = 0;
           		while(i %2 == 0) {
                	i /= 2;
                  	count++;
                }
              	if(count < min) min = count;
            }
          	System.out.println(min);
        }
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc int[] ary = new int[N]; ary new int[N] N boolean hasOdd = false; hasOdd false for(int i = 0; i < N; i++) {
        	ary[i] = sc.nextInt();
          	if(ary[i] %2 == 1) hasOdd = true;
        } int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
        	ary[i] = sc.nextInt();
          	if(ary[i] %2 == 1) hasOdd = true;
        } {
        	ary[i] = sc.nextInt();
          	if(ary[i] %2 == 1) hasOdd = true;
        } ary[i] = sc.nextInt() ary[i] ary i sc.nextInt() sc.nextInt sc if(ary[i] %2 == 1) hasOdd = true; ary[i] %2 == 1 ary[i] %2 ary[i] ary i 2 1 hasOdd = true hasOdd true if(hasOdd) {
        	System.out.println(0);  
        } else {
          	int min = Integer.MAX_VALUE;
			for(int i : ary) {
              	int count = 0;
           		while(i %2 == 0) {
                	i /= 2;
                  	count++;
                }
              	if(count < min) min = count;
            }
          	System.out.println(min);
        } hasOdd {
        	System.out.println(0);  
        } System.out.println(0) System.out.println System.out System System.out 0 {
          	int min = Integer.MAX_VALUE;
			for(int i : ary) {
              	int count = 0;
           		while(i %2 == 0) {
                	i /= 2;
                  	count++;
                }
              	if(count < min) min = count;
            }
          	System.out.println(min);
        } int min = Integer.MAX_VALUE; min Integer.MAX_VALUE Integer Integer.MAX_VALUE for(int i : ary) {
              	int count = 0;
           		while(i %2 == 0) {
                	i /= 2;
                  	count++;
                }
              	if(count < min) min = count;
            } int i ary {
              	int count = 0;
           		while(i %2 == 0) {
                	i /= 2;
                  	count++;
                }
              	if(count < min) min = count;
            } {
              	int count = 0;
           		while(i %2 == 0) {
                	i /= 2;
                  	count++;
                }
              	if(count < min) min = count;
            } int count = 0; count 0 while(i %2 == 0) {
                	i /= 2;
                  	count++;
                } i %2 == 0 i %2 i 2 0 {
                	i /= 2;
                  	count++;
                } i /= 2 i 2 count++ count if(count < min) min = count; count < min count min min = count min count System.out.println(min) System.out.println System.out System System.out min String[] args args public class Main {
	public static void main(String[] args) {  
  		Scanner sc = new Scanner(System.in);
      	int N = sc.nextInt();
      	int[] ary = new int[N];
      	boolean hasOdd = false;
      
      	for(int i = 0; i < N; i++) {
        	ary[i] = sc.nextInt();
          	if(ary[i] %2 == 1) hasOdd = true;
        }
      	if(hasOdd) {
        	System.out.println(0);  
        } else {
          	int min = Integer.MAX_VALUE;
			for(int i : ary) {
              	int count = 0;
           		while(i %2 == 0) {
                	i /= 2;
                  	count++;
                }
              	if(count < min) min = count;
            }
          	System.out.println(min);
        }
    }
} public class Main {
	public static void main(String[] args) {  
  		Scanner sc = new Scanner(System.in);
      	int N = sc.nextInt();
      	int[] ary = new int[N];
      	boolean hasOdd = false;
      
      	for(int i = 0; i < N; i++) {
        	ary[i] = sc.nextInt();
          	if(ary[i] %2 == 1) hasOdd = true;
        }
      	if(hasOdd) {
        	System.out.println(0);  
        } else {
          	int min = Integer.MAX_VALUE;
			for(int i : ary) {
              	int count = 0;
           		while(i %2 == 0) {
                	i /= 2;
                  	count++;
                }
              	if(count < min) min = count;
            }
          	System.out.println(min);
        }
    }
} Main
import java.util.*;

public class Main {
	public static void main(String[] args) {  
  		Scanner sc = new Scanner(System.in);
      	int N = sc.nextInt();
      	int[] ary = new int[N];
      	boolean hasOdd = false;
      
      	for(int i = 0; i < N; i++) {
        	ary[i] = sc.nextInt();
          	if(ary[i] %2 == 1) hasOdd = true;
        }
      	if(hasOdd) {
        	System.out.println(0);  
        } else {
          	int min = Integer.MAX_VALUE;
			for(int i : ary) {
              	int count = 0;
           		while(i %2 == 0) {
                	i /= 2;
                  	count++;
                }
              	if(count < min) min = count;
            }
          	System.out.println(min);
        }
    }
}