import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

import jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment;

public class Main{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);

		int n = Integer.parseInt(sc.nextLine());
		String[] aString = sc.nextLine().split(" ");
		byte count = 0;
		boolean flag = true;
		List<Integer> a = new ArrayList<>();

		do{
			if(aString!=null){
				for(int i=0;i<n;i++){
					a.add(Integer.parseInt(aString[i]));
				}
				aString = null;
			}
			for(int i = 0;i < n;i++){
				int target = a.get(i);
				if(target % 2 != 0){
					flag = false;
					break;
				}
				a.set(i, target/2);
			}
			if(flag){
				count++;
			}
		}while(flag);

		System.out.println(count);
	}
} import java.util.ArrayList; ArrayList java.util import java.util.List; List java.util import java.util.Scanner; Scanner java.util import jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment; ScanEnvironment jdk.nashorn.internal.runtime.regexp.joni public class Main{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);

		int n = Integer.parseInt(sc.nextLine());
		String[] aString = sc.nextLine().split(" ");
		byte count = 0;
		boolean flag = true;
		List<Integer> a = new ArrayList<>();

		do{
			if(aString!=null){
				for(int i=0;i<n;i++){
					a.add(Integer.parseInt(aString[i]));
				}
				aString = null;
			}
			for(int i = 0;i < n;i++){
				int target = a.get(i);
				if(target % 2 != 0){
					flag = false;
					break;
				}
				a.set(i, target/2);
			}
			if(flag){
				count++;
			}
		}while(flag);

		System.out.println(count);
	}
} Main public static void main(String[] args){
		Scanner sc = new Scanner(System.in);

		int n = Integer.parseInt(sc.nextLine());
		String[] aString = sc.nextLine().split(" ");
		byte count = 0;
		boolean flag = true;
		List<Integer> a = new ArrayList<>();

		do{
			if(aString!=null){
				for(int i=0;i<n;i++){
					a.add(Integer.parseInt(aString[i]));
				}
				aString = null;
			}
			for(int i = 0;i < n;i++){
				int target = a.get(i);
				if(target % 2 != 0){
					flag = false;
					break;
				}
				a.set(i, target/2);
			}
			if(flag){
				count++;
			}
		}while(flag);

		System.out.println(count);
	} main {
		Scanner sc = new Scanner(System.in);

		int n = Integer.parseInt(sc.nextLine());
		String[] aString = sc.nextLine().split(" ");
		byte count = 0;
		boolean flag = true;
		List<Integer> a = new ArrayList<>();

		do{
			if(aString!=null){
				for(int i=0;i<n;i++){
					a.add(Integer.parseInt(aString[i]));
				}
				aString = null;
			}
			for(int i = 0;i < n;i++){
				int target = a.get(i);
				if(target % 2 != 0){
					flag = false;
					break;
				}
				a.set(i, target/2);
			}
			if(flag){
				count++;
			}
		}while(flag);

		System.out.println(count);
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n = Integer.parseInt(sc.nextLine()); n Integer.parseInt(sc.nextLine()) Integer.parseInt Integer sc.nextLine() sc.nextLine sc String[] aString = sc.nextLine().split(" "); aString sc.nextLine().split(" ") sc.nextLine().split sc.nextLine() sc.nextLine sc " " byte count = 0; count 0 boolean flag = true; flag true List<Integer> a = new ArrayList<>(); a new ArrayList<>() do{
			if(aString!=null){
				for(int i=0;i<n;i++){
					a.add(Integer.parseInt(aString[i]));
				}
				aString = null;
			}
			for(int i = 0;i < n;i++){
				int target = a.get(i);
				if(target % 2 != 0){
					flag = false;
					break;
				}
				a.set(i, target/2);
			}
			if(flag){
				count++;
			}
		}while(flag); flag {
			if(aString!=null){
				for(int i=0;i<n;i++){
					a.add(Integer.parseInt(aString[i]));
				}
				aString = null;
			}
			for(int i = 0;i < n;i++){
				int target = a.get(i);
				if(target % 2 != 0){
					flag = false;
					break;
				}
				a.set(i, target/2);
			}
			if(flag){
				count++;
			}
		} if(aString!=null){
				for(int i=0;i<n;i++){
					a.add(Integer.parseInt(aString[i]));
				}
				aString = null;
			} aString!=null aString null {
				for(int i=0;i<n;i++){
					a.add(Integer.parseInt(aString[i]));
				}
				aString = null;
			} for(int i=0;i<n;i++){
					a.add(Integer.parseInt(aString[i]));
				} int i=0; int i=0; i 0 i<n i n i++ i++ i {
					a.add(Integer.parseInt(aString[i]));
				} {
					a.add(Integer.parseInt(aString[i]));
				} a.add(Integer.parseInt(aString[i])) a.add a Integer.parseInt(aString[i]) Integer.parseInt Integer aString[i] aString i aString = null aString null for(int i = 0;i < n;i++){
				int target = a.get(i);
				if(target % 2 != 0){
					flag = false;
					break;
				}
				a.set(i, target/2);
			} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
				int target = a.get(i);
				if(target % 2 != 0){
					flag = false;
					break;
				}
				a.set(i, target/2);
			} {
				int target = a.get(i);
				if(target % 2 != 0){
					flag = false;
					break;
				}
				a.set(i, target/2);
			} int target = a.get(i); target a.get(i) a.get a i if(target % 2 != 0){
					flag = false;
					break;
				} target % 2 != 0 target % 2 target 2 0 {
					flag = false;
					break;
				} flag = false flag false break; a.set(i, target/2) a.set a i target/2 target 2 if(flag){
				count++;
			} flag {
				count++;
			} count++ count System.out.println(count) System.out.println System.out System System.out count String[] args args public class Main{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);

		int n = Integer.parseInt(sc.nextLine());
		String[] aString = sc.nextLine().split(" ");
		byte count = 0;
		boolean flag = true;
		List<Integer> a = new ArrayList<>();

		do{
			if(aString!=null){
				for(int i=0;i<n;i++){
					a.add(Integer.parseInt(aString[i]));
				}
				aString = null;
			}
			for(int i = 0;i < n;i++){
				int target = a.get(i);
				if(target % 2 != 0){
					flag = false;
					break;
				}
				a.set(i, target/2);
			}
			if(flag){
				count++;
			}
		}while(flag);

		System.out.println(count);
	}
} public class Main{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);

		int n = Integer.parseInt(sc.nextLine());
		String[] aString = sc.nextLine().split(" ");
		byte count = 0;
		boolean flag = true;
		List<Integer> a = new ArrayList<>();

		do{
			if(aString!=null){
				for(int i=0;i<n;i++){
					a.add(Integer.parseInt(aString[i]));
				}
				aString = null;
			}
			for(int i = 0;i < n;i++){
				int target = a.get(i);
				if(target % 2 != 0){
					flag = false;
					break;
				}
				a.set(i, target/2);
			}
			if(flag){
				count++;
			}
		}while(flag);

		System.out.println(count);
	}
} Main
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

import jdk.nashorn.internal.runtime.regexp.joni.ScanEnvironment;

public class Main{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);

		int n = Integer.parseInt(sc.nextLine());
		String[] aString = sc.nextLine().split(" ");
		byte count = 0;
		boolean flag = true;
		List<Integer> a = new ArrayList<>();

		do{
			if(aString!=null){
				for(int i=0;i<n;i++){
					a.add(Integer.parseInt(aString[i]));
				}
				aString = null;
			}
			for(int i = 0;i < n;i++){
				int target = a.get(i);
				if(target % 2 != 0){
					flag = false;
					break;
				}
				a.set(i, target/2);
			}
			if(flag){
				count++;
			}
		}while(flag);

		System.out.println(count);
	}
}
