def b_shift_only(N, A):

    def is_even(lst):

        # リストの要素がすべて偶数か？

        for x in lst:

            if x % 2 == 1:

                return False

        return True

    a = A[:]

    count = 0

    # 奇数が要素に現れるまで要素を2で割る

    while is_even(a):

        a = [x // 2 for x in a]

        count += 1

    return count



N = int(eval(input()))

A = [int(i) for i in input().split()]

print((b_shift_only(N, A)))
def b_shift_only(N, A):

    # Aの全要素についてbitごとorを取った値が

    # 何回2で割れるかが解となる

    bitwise_or = 0

    for a in A:

        bitwise_or |= a

    

    ans = 0

    while bitwise_or % 2 == 0:

        bitwise_or //= 2

        ans += 1

    return ans



N = int(eval(input()))

A = [int(i) for i in input().split()]

print((b_shift_only(N, A)))
def b_shift_only(N, A):
    def is_even(lst):
        # リストの要素がすべて偶数か？
        for x in lst:
            if x % 2 == 1:
                return False
        return True

    a = A[:]
    count = 0
    # 奇数が要素に現れるまで要素を2で割る
    while is_even(a):
        a = [x // 2 for x in a]
        count += 1
    return count


N = int(eval(input()))
A = [int(i) for i in input().split()]
print((b_shift_only(N, A)))

def b_shift_only(N, A):
    # Aの全要素についてbitごとorを取った値が
    # 何回2で割れるかが解となる
    bitwise_or = 0
    for a in A:
        bitwise_or |= a
    ans = 0
    while bitwise_or % 2 == 0:
        bitwise_or //= 2
        ans += 1
    return ans


N = int(eval(input()))
A = [int(i) for i in input().split()]
print((b_shift_only(N, A)))

-    def is_even(lst): -        # リストの要素がすべて偶数か？ -        for x in lst: -            if x % 2 == 1: -                return False -        return True - -    a = A[:] -    count = 0 -    # 奇数が要素に現れるまで要素を2で割る -    while is_even(a): -        a = [x // 2 for x in a] -        count += 1 -    return count +    # Aの全要素についてbitごとorを取った値が +    # 何回2で割れるかが解となる +    bitwise_or = 0 +    for a in A: +        bitwise_or |= a +    ans = 0 +    while bitwise_or % 2 == 0: +        bitwise_or //= 2 +        ans += 1 +    return ans