import java.util.*;
 
public class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    long A[] = new long [N];
    
    for(int i=0; i<N; i++){
      A[i]=sc.nextInt();
    }
    int count = 0;
    boolean next = true;
    while (next) {
      for (int i = 0; i < A.length; i++) {
        if (A[i] % 2 == 0) {
          A[i] = A[i] / 2;
        } else {
          next = false;
        }
      }
      if (next) {
        count++;
      }
    }
    System.out.printf("%d\n", count);
  }
} import java.util.*; util.* java public class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    long A[] = new long [N];
    
    for(int i=0; i<N; i++){
      A[i]=sc.nextInt();
    }
    int count = 0;
    boolean next = true;
    while (next) {
      for (int i = 0; i < A.length; i++) {
        if (A[i] % 2 == 0) {
          A[i] = A[i] / 2;
        } else {
          next = false;
        }
      }
      if (next) {
        count++;
      }
    }
    System.out.printf("%d\n", count);
  }
} Main public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    long A[] = new long [N];
    
    for(int i=0; i<N; i++){
      A[i]=sc.nextInt();
    }
    int count = 0;
    boolean next = true;
    while (next) {
      for (int i = 0; i < A.length; i++) {
        if (A[i] % 2 == 0) {
          A[i] = A[i] / 2;
        } else {
          next = false;
        }
      }
      if (next) {
        count++;
      }
    }
    System.out.printf("%d\n", count);
  } main {
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    long A[] = new long [N];
    
    for(int i=0; i<N; i++){
      A[i]=sc.nextInt();
    }
    int count = 0;
    boolean next = true;
    while (next) {
      for (int i = 0; i < A.length; i++) {
        if (A[i] % 2 == 0) {
          A[i] = A[i] / 2;
        } else {
          next = false;
        }
      }
      if (next) {
        count++;
      }
    }
    System.out.printf("%d\n", count);
  } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc long A[] = new long [N]; A new long [N] N for(int i=0; i<N; i++){
      A[i]=sc.nextInt();
    } int i=0; int i=0; i 0 i<N i N i++ i++ i {
      A[i]=sc.nextInt();
    } {
      A[i]=sc.nextInt();
    } A[i]=sc.nextInt() A[i] A i sc.nextInt() sc.nextInt sc int count = 0; count 0 boolean next = true; next true while (next) {
      for (int i = 0; i < A.length; i++) {
        if (A[i] % 2 == 0) {
          A[i] = A[i] / 2;
        } else {
          next = false;
        }
      }
      if (next) {
        count++;
      }
    } next {
      for (int i = 0; i < A.length; i++) {
        if (A[i] % 2 == 0) {
          A[i] = A[i] / 2;
        } else {
          next = false;
        }
      }
      if (next) {
        count++;
      }
    } for (int i = 0; i < A.length; i++) {
        if (A[i] % 2 == 0) {
          A[i] = A[i] / 2;
        } else {
          next = false;
        }
      } int i = 0; int i = 0; i 0 i < A.length i A.length A A.length i++ i++ i {
        if (A[i] % 2 == 0) {
          A[i] = A[i] / 2;
        } else {
          next = false;
        }
      } {
        if (A[i] % 2 == 0) {
          A[i] = A[i] / 2;
        } else {
          next = false;
        }
      } if (A[i] % 2 == 0) {
          A[i] = A[i] / 2;
        } else {
          next = false;
        } A[i] % 2 == 0 A[i] % 2 A[i] A i 2 0 {
          A[i] = A[i] / 2;
        } A[i] = A[i] / 2 A[i] A i A[i] / 2 A[i] A i 2 {
          next = false;
        } next = false next false if (next) {
        count++;
      } next {
        count++;
      } count++ count System.out.printf("%d\n", count) System.out.printf System.out System System.out "%d\n" count String[] args args public class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    long A[] = new long [N];
    
    for(int i=0; i<N; i++){
      A[i]=sc.nextInt();
    }
    int count = 0;
    boolean next = true;
    while (next) {
      for (int i = 0; i < A.length; i++) {
        if (A[i] % 2 == 0) {
          A[i] = A[i] / 2;
        } else {
          next = false;
        }
      }
      if (next) {
        count++;
      }
    }
    System.out.printf("%d\n", count);
  }
} public class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    long A[] = new long [N];
    
    for(int i=0; i<N; i++){
      A[i]=sc.nextInt();
    }
    int count = 0;
    boolean next = true;
    while (next) {
      for (int i = 0; i < A.length; i++) {
        if (A[i] % 2 == 0) {
          A[i] = A[i] / 2;
        } else {
          next = false;
        }
      }
      if (next) {
        count++;
      }
    }
    System.out.printf("%d\n", count);
  }
} Main
import java.util.*;
 
public class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    int N = sc.nextInt();
    long A[] = new long [N];
    
    for(int i=0; i<N; i++){
      A[i]=sc.nextInt();
    }
    int count = 0;
    boolean next = true;
    while (next) {
      for (int i = 0; i < A.length; i++) {
        if (A[i] % 2 == 0) {
          A[i] = A[i] / 2;
        } else {
          next = false;
        }
      }
      if (next) {
        count++;
      }
    }
    System.out.printf("%d\n", count);
  }
}