def times_divisible(n):

    ans = 0 

    while n%2 ==0:

        n/=2

        ans +=1

    return ans

n= int(eval(input()))

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

ans = min(times_divisible(a) for a in A)

print(ans)
import numpy as np

n = eval(input())

a = np.array([int(x) for x in input().split()])

count = 0

x = 0



while x == 0:

    if np.all(a%2 ==0):

        count+=1

        a = a/2

    else:

        break





print(count)
def times_divisible(n):
    ans = 0
    while n % 2 == 0:
        n /= 2
        ans += 1
    return ans


n = int(eval(input()))
A = [int(a) for a in input().split()]
ans = min(times_divisible(a) for a in A)
print(ans)

import numpy as np

n = eval(input())
a = np.array([int(x) for x in input().split()])
count = 0
x = 0
while x == 0:
    if np.all(a % 2 == 0):
        count += 1
        a = a / 2
    else:
        break
print(count)

-def times_divisible(n): -    ans = 0 -    while n % 2 == 0: -        n /= 2 -        ans += 1 -    return ans +import numpy as np - -n = int(eval(input())) -A = [int(a) for a in input().split()] -ans = min(times_divisible(a) for a in A) -print(ans) +n = eval(input()) +a = np.array([int(x) for x in input().split()]) +count = 0 +x = 0 +while x == 0: +    if np.all(a % 2 == 0): +        count += 1 +        a = a / 2 +    else: +        break +print(count)