import java.util.Scanner;

public class Main {

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

        int N = Integer.parseInt(sc.nextLine());
        int[] AN = new int[N];
        for (int i = 0; i < N; i++) {
            AN[i] = Integer.parseInt(sc.next());
        }

        divede(AN);

        System.out.println(ANS);
    }

    static int ANS;

    private static void divede(int[] aN) {
        for (int i = 0; i < aN.length; i++) {
            int target = aN[i];
            if (target % 2 != 0) {
                return;
            }
            aN[i] = target / 2;
        }
        ANS++;
        divede(aN);
    }
} import java.util.Scanner; Scanner java.util public class Main {

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

        int N = Integer.parseInt(sc.nextLine());
        int[] AN = new int[N];
        for (int i = 0; i < N; i++) {
            AN[i] = Integer.parseInt(sc.next());
        }

        divede(AN);

        System.out.println(ANS);
    }

    static int ANS;

    private static void divede(int[] aN) {
        for (int i = 0; i < aN.length; i++) {
            int target = aN[i];
            if (target % 2 != 0) {
                return;
            }
            aN[i] = target / 2;
        }
        ANS++;
        divede(aN);
    }
} Main static int ANS; ANS public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int N = Integer.parseInt(sc.nextLine());
        int[] AN = new int[N];
        for (int i = 0; i < N; i++) {
            AN[i] = Integer.parseInt(sc.next());
        }

        divede(AN);

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

        int N = Integer.parseInt(sc.nextLine());
        int[] AN = new int[N];
        for (int i = 0; i < N; i++) {
            AN[i] = Integer.parseInt(sc.next());
        }

        divede(AN);

        System.out.println(ANS);
    } 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 int[] AN = new int[N]; AN new int[N] N for (int i = 0; i < N; i++) {
            AN[i] = Integer.parseInt(sc.next());
        } int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
            AN[i] = Integer.parseInt(sc.next());
        } {
            AN[i] = Integer.parseInt(sc.next());
        } AN[i] = Integer.parseInt(sc.next()) AN[i] AN i Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc divede(AN) divede AN System.out.println(ANS) System.out.println System.out System System.out ANS String[] args args private static void divede(int[] aN) {
        for (int i = 0; i < aN.length; i++) {
            int target = aN[i];
            if (target % 2 != 0) {
                return;
            }
            aN[i] = target / 2;
        }
        ANS++;
        divede(aN);
    } divede {
        for (int i = 0; i < aN.length; i++) {
            int target = aN[i];
            if (target % 2 != 0) {
                return;
            }
            aN[i] = target / 2;
        }
        ANS++;
        divede(aN);
    } for (int i = 0; i < aN.length; i++) {
            int target = aN[i];
            if (target % 2 != 0) {
                return;
            }
            aN[i] = target / 2;
        } int i = 0; int i = 0; i 0 i < aN.length i aN.length aN aN.length i++ i++ i {
            int target = aN[i];
            if (target % 2 != 0) {
                return;
            }
            aN[i] = target / 2;
        } {
            int target = aN[i];
            if (target % 2 != 0) {
                return;
            }
            aN[i] = target / 2;
        } int target = aN[i]; target aN[i] aN i if (target % 2 != 0) {
                return;
            } target % 2 != 0 target % 2 target 2 0 {
                return;
            } return; aN[i] = target / 2 aN[i] aN i target / 2 target 2 ANS++ ANS divede(aN) divede aN int[] aN aN public class Main {

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

        int N = Integer.parseInt(sc.nextLine());
        int[] AN = new int[N];
        for (int i = 0; i < N; i++) {
            AN[i] = Integer.parseInt(sc.next());
        }

        divede(AN);

        System.out.println(ANS);
    }

    static int ANS;

    private static void divede(int[] aN) {
        for (int i = 0; i < aN.length; i++) {
            int target = aN[i];
            if (target % 2 != 0) {
                return;
            }
            aN[i] = target / 2;
        }
        ANS++;
        divede(aN);
    }
} public class Main {

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

        int N = Integer.parseInt(sc.nextLine());
        int[] AN = new int[N];
        for (int i = 0; i < N; i++) {
            AN[i] = Integer.parseInt(sc.next());
        }

        divede(AN);

        System.out.println(ANS);
    }

    static int ANS;

    private static void divede(int[] aN) {
        for (int i = 0; i < aN.length; i++) {
            int target = aN[i];
            if (target % 2 != 0) {
                return;
            }
            aN[i] = target / 2;
        }
        ANS++;
        divede(aN);
    }
} Main
import java.util.Scanner;

public class Main {

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

        int N = Integer.parseInt(sc.nextLine());
        int[] AN = new int[N];
        for (int i = 0; i < N; i++) {
            AN[i] = Integer.parseInt(sc.next());
        }

        divede(AN);

        System.out.println(ANS);
    }

    static int ANS;

    private static void divede(int[] aN) {
        for (int i = 0; i < aN.length; i++) {
            int target = aN[i];
            if (target % 2 != 0) {
                return;
            }
            aN[i] = target / 2;
        }
        ANS++;
        divede(aN);
    }
}
