n = int(eval(input()))

l = list(map(int, input().split(" ")))



flag = True

count = 0

while True:

    for i in range(n):

        if l[i] % 2 == 1:

            flag = False

            break

        l[i] = l[i] / 2

    if flag == False:

        break

    count += 1



print(count)

import math

n = eval(input())

a = list(map(int, input().split()))

ans = float("inf")

for i in a:

    ans = min(ans, len(bin(i)) - bin(i).rfind("1") - 1)

print((round(ans)))
n = int(eval(input()))
l = list(map(int, input().split(" ")))
flag = True
count = 0
while True:
    for i in range(n):
        if l[i] % 2 == 1:
            flag = False
            break
        l[i] = l[i] / 2
    if flag == False:
        break
    count += 1
print(count)

import math

n = eval(input())
a = list(map(int, input().split()))
ans = float("inf")
for i in a:
    ans = min(ans, len(bin(i)) - bin(i).rfind("1") - 1)
print((round(ans)))

-n = int(eval(input())) -l = list(map(int, input().split(" "))) -flag = True -count = 0 -while True: -    for i in range(n): -        if l[i] % 2 == 1: -            flag = False -            break -        l[i] = l[i] / 2 -    if flag == False: -        break -    count += 1 -print(count) +import math + +n = eval(input()) +a = list(map(int, input().split())) +ans = float("inf") +for i in a: +    ans = min(ans, len(bin(i)) - bin(i).rfind("1") - 1) +print((round(ans)))