import numpy as np



x = int(eval(input()))

y = input().split()

y = [int(i) for i in y]

y = np.array(y)

count = 0

while sum([y[i] % 2 for i in range(len(y))]) == 0:

    y = y/2

    count += 1

print(count)
N = int(eval(input()))

A = input().split()

A = [int(i) for i in A]



c = 0 



while True:

  exist_odd = False

  for a in A:

    if a % 2 != 0:

      exist_odd = True

    

  if exist_odd: break



  for i in range(N):

    A[i] = A[i] / 2

  

  c = c + 1

print(c)
import numpy as np

x = int(eval(input()))
y = input().split()
y = [int(i) for i in y]
y = np.array(y)
count = 0
while sum([y[i] % 2 for i in range(len(y))]) == 0:
    y = y / 2
    count += 1
print(count)

N = int(eval(input()))
A = input().split()
A = [int(i) for i in A]
c = 0
while True:
    exist_odd = False
    for a in A:
        if a % 2 != 0:
            exist_odd = True
    if exist_odd:
        break
    for i in range(N):
        A[i] = A[i] / 2
    c = c + 1
print(c)

-import numpy as np - -x = int(eval(input())) -y = input().split() -y = [int(i) for i in y] -y = np.array(y) -count = 0 -while sum([y[i] % 2 for i in range(len(y))]) == 0: -    y = y / 2 -    count += 1 -print(count) +N = int(eval(input())) +A = input().split() +A = [int(i) for i in A] +c = 0 +while True: +    exist_odd = False +    for a in A: +        if a % 2 != 0: +            exist_odd = True +    if exist_odd: +        break +    for i in range(N): +        A[i] = A[i] / 2 +    c = c + 1 +print(c)