import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int num = sc.nextInt();
		int[] intArray = new int[num];
		int k = 0;
		int res = 0;
		while (sc.hasNext()) {
			intArray[k] = sc.nextInt(); 
            k++;
		}

		boolean exist_odd = false;

		while (true) {
			for (int i = 0; i < intArray.length; i++) {
				if (intArray[i] % 2 != 0)
					exist_odd = true;
		}

			if (exist_odd) {
				break;
			}

			for (int i = 0; i < intArray.length; i++) {
				intArray[i] /= 2;
			}

			res++;
		}
		System.out.println(res);
	}
} import java.util.Scanner; Scanner java.util public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int num = sc.nextInt();
		int[] intArray = new int[num];
		int k = 0;
		int res = 0;
		while (sc.hasNext()) {
			intArray[k] = sc.nextInt(); 
            k++;
		}

		boolean exist_odd = false;

		while (true) {
			for (int i = 0; i < intArray.length; i++) {
				if (intArray[i] % 2 != 0)
					exist_odd = true;
		}

			if (exist_odd) {
				break;
			}

			for (int i = 0; i < intArray.length; i++) {
				intArray[i] /= 2;
			}

			res++;
		}
		System.out.println(res);
	}
} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int num = sc.nextInt();
		int[] intArray = new int[num];
		int k = 0;
		int res = 0;
		while (sc.hasNext()) {
			intArray[k] = sc.nextInt(); 
            k++;
		}

		boolean exist_odd = false;

		while (true) {
			for (int i = 0; i < intArray.length; i++) {
				if (intArray[i] % 2 != 0)
					exist_odd = true;
		}

			if (exist_odd) {
				break;
			}

			for (int i = 0; i < intArray.length; i++) {
				intArray[i] /= 2;
			}

			res++;
		}
		System.out.println(res);
	} main {
		Scanner sc = new Scanner(System.in);
		int num = sc.nextInt();
		int[] intArray = new int[num];
		int k = 0;
		int res = 0;
		while (sc.hasNext()) {
			intArray[k] = sc.nextInt(); 
            k++;
		}

		boolean exist_odd = false;

		while (true) {
			for (int i = 0; i < intArray.length; i++) {
				if (intArray[i] % 2 != 0)
					exist_odd = true;
		}

			if (exist_odd) {
				break;
			}

			for (int i = 0; i < intArray.length; i++) {
				intArray[i] /= 2;
			}

			res++;
		}
		System.out.println(res);
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int num = sc.nextInt(); num sc.nextInt() sc.nextInt sc int[] intArray = new int[num]; intArray new int[num] num int k = 0; k 0 int res = 0; res 0 while (sc.hasNext()) {
			intArray[k] = sc.nextInt(); 
            k++;
		} sc.hasNext() sc.hasNext sc {
			intArray[k] = sc.nextInt(); 
            k++;
		} intArray[k] = sc.nextInt() intArray[k] intArray k sc.nextInt() sc.nextInt sc k++ k boolean exist_odd = false; exist_odd false while (true) {
			for (int i = 0; i < intArray.length; i++) {
				if (intArray[i] % 2 != 0)
					exist_odd = true;
		}

			if (exist_odd) {
				break;
			}

			for (int i = 0; i < intArray.length; i++) {
				intArray[i] /= 2;
			}

			res++;
		} true {
			for (int i = 0; i < intArray.length; i++) {
				if (intArray[i] % 2 != 0)
					exist_odd = true;
		}

			if (exist_odd) {
				break;
			}

			for (int i = 0; i < intArray.length; i++) {
				intArray[i] /= 2;
			}

			res++;
		} for (int i = 0; i < intArray.length; i++) {
				if (intArray[i] % 2 != 0)
					exist_odd = true;
		} int i = 0; int i = 0; i 0 i < intArray.length i intArray.length intArray intArray.length i++ i++ i {
				if (intArray[i] % 2 != 0)
					exist_odd = true;
		} {
				if (intArray[i] % 2 != 0)
					exist_odd = true;
		} if (intArray[i] % 2 != 0)
					exist_odd = true; intArray[i] % 2 != 0 intArray[i] % 2 intArray[i] intArray i 2 0 exist_odd = true exist_odd true if (exist_odd) {
				break;
			} exist_odd {
				break;
			} break; for (int i = 0; i < intArray.length; i++) {
				intArray[i] /= 2;
			} int i = 0; int i = 0; i 0 i < intArray.length i intArray.length intArray intArray.length i++ i++ i {
				intArray[i] /= 2;
			} {
				intArray[i] /= 2;
			} intArray[i] /= 2 intArray[i] intArray i 2 res++ res System.out.println(res) System.out.println System.out System System.out res String[] args args public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int num = sc.nextInt();
		int[] intArray = new int[num];
		int k = 0;
		int res = 0;
		while (sc.hasNext()) {
			intArray[k] = sc.nextInt(); 
            k++;
		}

		boolean exist_odd = false;

		while (true) {
			for (int i = 0; i < intArray.length; i++) {
				if (intArray[i] % 2 != 0)
					exist_odd = true;
		}

			if (exist_odd) {
				break;
			}

			for (int i = 0; i < intArray.length; i++) {
				intArray[i] /= 2;
			}

			res++;
		}
		System.out.println(res);
	}
} public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int num = sc.nextInt();
		int[] intArray = new int[num];
		int k = 0;
		int res = 0;
		while (sc.hasNext()) {
			intArray[k] = sc.nextInt(); 
            k++;
		}

		boolean exist_odd = false;

		while (true) {
			for (int i = 0; i < intArray.length; i++) {
				if (intArray[i] % 2 != 0)
					exist_odd = true;
		}

			if (exist_odd) {
				break;
			}

			for (int i = 0; i < intArray.length; i++) {
				intArray[i] /= 2;
			}

			res++;
		}
		System.out.println(res);
	}
} Main
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int num = sc.nextInt();
		int[] intArray = new int[num];
		int k = 0;
		int res = 0;
		while (sc.hasNext()) {
			intArray[k] = sc.nextInt(); 
            k++;
		}

		boolean exist_odd = false;

		while (true) {
			for (int i = 0; i < intArray.length; i++) {
				if (intArray[i] % 2 != 0)
					exist_odd = true;
		}

			if (exist_odd) {
				break;
			}

			for (int i = 0; i < intArray.length; i++) {
				intArray[i] /= 2;
			}

			res++;
		}
		System.out.println(res);
	}
}
