Problem:
 Score : 200 points    Problem Statement There are N positive integers written on a blackboard: A_1, ..., A_N .  Snuke can perform the following operation when all integers on the blackboard are even:   Replace each integer X on the blackboard by X divided by 2 .   Find the maximum possible number of operations that Snuke can perform.      Constraints  1 \leq N \leq 200  1 \leq A_i \leq 10^9         Input Input is given from Standard Input in the following format:  N  A_1  A_2 ... A_N       Output Print the maximum possible number of operations that Snuke can perform.        Sample Input 1 3
8 12 40      Sample Output 1 2  Initially, [8, 12, 40] are written on the blackboard.
Since all those integers are even, Snuke can perform the operation.  After the operation is performed once, [4, 6, 20] are written on the blackboard.
Since all those integers are again even, he can perform the operation.  After the operation is performed twice, [2, 3, 10] are written on the blackboard.
Now, there is an odd number 3 on the blackboard, so he cannot perform the operation any more.  Thus, Snuke can perform the operation at most twice.       Sample Input 2 4
5 6 8 10      Sample Output 2 0  Since there is an odd number 5 on the blackboard already in the beginning, Snuke cannot perform the operation at all.       Sample Input 3 6
382253568 723152896 37802240 379425024 404894720 471526144      Sample Output 3 8

Solution (Python):

it = [input() for i in range(2)]
n = int(it[0])
a_list = list(map(int, it[1].split()))

def main():
    print(multi_mapdev(a_list, 0))

def findodd(l):
    filtered = list(filter(lambda e:e%2 == 1, l))
    
    return (len(filtered) > 0)

def mapdev(l):
    return list(map(int, list(map(lambda e:e/2, l))))

def multi_mapdev(l, cnt):
    if findodd(l):
        return cnt
    else:
        return multi_mapdev(mapdev(l), cnt + 1)

main()

Solution (Python):
N = int(input())
A = list(map(int, input().split()))
cnt = 0

while True:
    for num, a in enumerate(A):
        if a % 2:
            print(cnt)
            break
        else:
            A[num] = a / 2
    if a % 2:
        break
    cnt += 1

Solution (Python):
n=input()
a=set(list(map(int,input().split())))
ans=100
for i in a:
  x=bin(i)[::-1].index('1')
  ans=x if ans>x else ans
print(ans)

Solution (Python):
n=int(input())
A=list(map(int,input().split()))

c=0
while all(a%2==0 for a in A):
    A=[a/2 for a in A]
    c+=1
print(c)

Solution (Python):
n = int(input())
a = list(map(int,input().split()))
s = []

for i in range (n):
    d = 0
    c = -1
    b = a[i]
    while d == 0:
        d = b % 2
        b = b / 2
        c = c + 1

    s.append(c)

res = min(s)

print(res)

Solution (Python):
input()
A = list(map(int, input().split()))
count = 0

while all(a % 2 == 0 for a in A):
    A = [a/2 for a in A]
    count += 1
print(count)

Solution (Python):
import numpy as np
if __name__ == "__main__":
    N = int(input())
    line = input().rstrip().split(' ')
    line = np.array(line).astype("int")
    ans = 0
    while not (line <= 0).any():
        
        if (line % 2).sum() == 0:
            ans += 1
            line = line / 2
        else:
            break
    print(ans)

Solution (Python):
N = int(input())
A = list(map(int, input().split()))
count_list=[]
for i in range(N):
	num = int(A[i])
	count=0
	while num%2==0:
		num=num/2
		count=count+1
	count_list.append(count)
print(min(count_list))

Solution (Python):
n = int(input())
a = map(int, input().split())
counter = 0


def how_much_time_divisible(x):
    ans = 0
    
    while x % 2 == 0:
        x /= 2
        ans += 1
    return ans


b = map(how_much_time_divisible, a)

print(min(b))

Solution (Python):
import math

n = 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))

Solution (Python):
from fractions import gcd
N = int(input())
a = [int(x) for x in input().split()]
g = a[0]
for i in range(1,N):
  g = gcd(g,a[i])
ans = 0
while True:
  if g % 2 == 1:
    break
  ans += 1
  g= g // 2
print(ans)

Solution (Python):
import sys


def main():

    N = int(sys.stdin.readline().rstrip())
    A = list(map(int, sys.stdin.readline().rstrip().split()))
    
    cnt = 0
    exist_odd = False
    while True:
        for i in range(N):
            if A[i] % 2 != 0:
                exist_odd = True
                
        if exist_odd == True:
            break
            
        for i in range(N):
            A[i] /= 2
        cnt += 1
        
    print(cnt)
        
        
            
    
    
if __name__ == '__main__':
    main()

Solution (Python):
import sys


def main():

    N = int(sys.stdin.readline().rstrip())
    A = list(map(int, input().split()))
    
    cnt = 0
    exist_odd = False
    while True:
        for i in range(N):
            if A[i] % 2 != 0:
                exist_odd = True
                
        if exist_odd == True:
            break
            
        for i in range(N):
            A[i] /= 2
        cnt += 1
        
    print(cnt)
        
        
            
    
    
if __name__ == '__main__':
    main()

Solution (Python):
N = int(input())
A = list(map(int, input().split()))
ans = 0
while True:
    if all(map(lambda x: x % 2 == 0, A)):
        ans += 1
        A = list(map(lambda x: x/2,A))
    else:
        break
print(ans)

Solution (Python):
input()
A = list(map(int, input().split()))
count = 0
while all(a % 2 == 0 for a in A):
    A = [a/2 for a in A]
    count += 1
print(count)

Solution (Python):
N = int(input())
A = list(map(int,input().split()))
ans = 0
while True:
  if all(a % 2 == 0 for a in A):
    A = [a // 2 for a in A]
    ans += 1
  else:
    break
print(ans)

Solution (Python):
N = int(input())
A = list(map(int,input().split()))
ans = 0
flag = True
while True:
  for i in range(N):
    if A[i] % pow(2, ans+1) != 0:
      flag = False
      break
  if flag == False:
    break
  ans += 1
print(ans)

Solution (Python):
N = int(input())
A = list(map(int,input().split()))
ans = 0
flag = True
while True:
  for i in range(N):
    if A[i] % pow(2, ans+1) != 0:
      flag = False
      break
  if flag == True:
    ans += 1
  else:
    break
print(ans)

Solution (Python):
def di(n):
    count=0
    while True:
        if n%2==0:
            n=n//2
            count+=1
        else:
            return count

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

anslist=[]
for i in a:
    anslist.append(di(i))
print(min(anslist))

Solution (Python):

input()
A = list(map(int,input().split()))
count = 0

while all(a % 2 == 0 for a in A):
  A = [a/2 for a in A]
  count += 1
  
print(count)

Solution (Python):
input()
A = list(map(int, input().split()))
count = 0
while all(a % 2 == 0 for a in A):
    A = [a/2 for a in A]
    count += 1
print(count)

Solution (Python):
n = int(input())
nums = [int(i) for i in input().split()]
ans = 0
while True:
    if [i for i in nums if i % 2 == 1]:
        break
    nums = [i//2 for i in nums]
    ans += 1
print(ans)

Solution (Python):
n =int(input())
a = list(map(int, input().split()))

def 割れる回数(a):
    回数 = 0
    while a % 2 == 0:
        回数 += 1
        a = a//2
    return 回数
割れる回数のリスト = [割れる回数(a_i) for a_i in a]
答え =min(割れる回数のリスト)
print(答え)

Solution (Python):
n = int(input())
a = list(map(int, input().split()))

def 割れる回数(a):
    回数 = 0
    while a % 2 == 0:
        回数 += 1
        a = a // 2
    return 回数

割れる回数のリスト = [割れる回数(a_i) for a_i in a]
答え = min(割れる回数のリスト)
print(答え)

Solution (Python):
n = int(input())
a_list = list(map(int, input().split()))

def fun(a):
    ans = 0
    while a % 2 == 0:
        a /= 2
        ans += 1
    return ans

print(min(map(fun, a_list)))

Solution (Python):

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

l = []
ans = 0

for x in range(n):
    for _ in range(10000000):
        if a[x]%2 == 0 and a[x] > 0:
            a[x] = a[x]//2
            ans += 1
            continue
        else:
            l.append(ans)
            ans = 0
            break

print(min(l))

Solution (Python):
N = int(input())
n = list(map(int,input().split()))
ans = 0
b = True
while b:
  for j in range(N):
    if n[j] % 2 == 1:
      b = False
    n[j] /= 2
  ans += 1
print(ans-1)

Solution (Python):
N = int(input())
n = list(map(int,input().split()))
b = 0
ans = 0
while True:
  for j in range(N):
    if n[j] % 2 == 1:
      b += 1
    n[j] /= 2
  if b != 0:
    break
  ans += 1
print(ans)

Solution (Python):
n = int(input())
a = list(map(int, input().split()))
cnt = 99999
for i in a:
    cnt = min(cnt, len(bin(i))-bin(i).rfind("1")-1)

print(cnt)

Solution (Python):
n = int(input())
a = list(map(int, input().split()))
check = True
count = 0

while(check):
  for i in range(n-1):
    if a[i] % 2 == 0:
      a[i] = a[i] / 2
    else:
      check = False
      break         
  else:
    count += 1
        
print(count)

Solution (Python):
n = int(input())
list_A = list(map(int, input().split()))
ans = 0
a = 0
while True:
    cnt = 0
    for i in range(len(list_A)):
        if list_A[i] % 2 == 0:
            list_A[i] //= 2
            cnt += 1
    if cnt == len(list_A):
        ans += 1
    else:
        break

print(ans)

Solution (Python):
n = int(input())
a_list = list(map(int,input().split()))
count = 0
for j in range(30):
  frag = True
  for a in a_list:
    if a % 2 !=0:
      frag = False
  if frag == False:
    print(count)
    break
  else:
    count += 1
    for i in range(n):
      a_list[i] = a_list[i]//2

Solution (Python):
N = int(input())
A = list(map(int, input().split()))
ans = 10**10

for item in A:
    if item % 2 == 1:
        ans = 0
        break
    tmp = 0
    while item % 2 == 0:
        tmp += 1
        item //= 2
    ans = min(ans, tmp)

print(ans)

Solution (Python):
def even(A):
  for i in range(0, len(A)):
    if (A[i]%2==1):
      return False
  return True

N=int(input())
A=list(map(int, input().split()))
cnt=0
while(even(A)==True):
  cnt+=1
  for i in range(0, len(A)):
    A[i]/=2
print(cnt)

Solution (Python):
N = int(input())                                  
S  = list(map(int, input().split()))                 

ans = 0
p = 0
                                                   
while True:
    for i in range(N):
        if S[i] % 2 == 0:
            S[i] = S[i] / 2
        else:
            p += 1
            break
    if p != 0:
        break

    ans += 1                                     
                                                                                                                                                             
print(ans)

Solution (Python):
_, *a = map(int, open(0).read().split())
ans = float("inf")
for i in a:
    ans = min(ans, len(bin(i)) - bin(i).rfind("1") - 1)
print(round(ans))

Solution (Python):
N = input()
A = list(map(int, input().split()))
count = 0
while all(a % 2 == 0 for a in A):
    A = [a/2 for a in A]
    count += 1
print(count)

Solution (Python):
import numpy as np

_ = int(input())
num_array = np.array(list(map(int, input().split())))

count = 0
while True:
    if any(num_array % 2 != 0):
        break
    num_array = num_array / 2
    count += 1
print(count)

Solution (Python):
_ = int(input())

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

count = 0
is_all_even = None 
while True:
    for num in num_list:
        if num % 2 != 0:
            is_all_even = False
            break
    if is_all_even is not None:
        break
    count += 1
    num_list = list(map(lambda x: x / 2, num_list))
print(count)

Solution (Python):
import numpy as np
n = int(input())
an = list(map(int, input().split()))

an = np.array(an)

count = 0
while True:
    if sum(an % 2 == 0) == len(an):
        an = an / 2
        count += 1
    else:
        break
print(count)

Solution (Python):
N = int(input())
li = list(map(int,input().split()))

count = 0

while True:
    success = 0
    i = 0
    for num in li:
        if (num % 2) == 0:
            success += 1
    if(success == N):
        i = 0
        count += 1
        for num in li:
            li[i] = num / 2
            i += 1
    else:
        break
print(count)

Solution (Python):
a = int(input())

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

count =0 
counts=0
flag= True
new=[]

while flag==True:
  check=list
  if count>0:
    check=new
    new=[]
  for i in check:
    if i%2 != 0:
      print(count)
      flag=False
      break
    i//=2
    new.append(i)
    counts+=1
    if counts==a:
      counts=0
      count+=1
      break

Solution (Python):
n = int(input())
a = list(map(int, input().split()))
ans = 0
for i in range(512):
    for j in range(n):
        if a[j] % 2 != 0:
            break
    else:
        ans += 1
    a = list(map(lambda x: x / 2, a))
print(ans)

Solution (Python):
n = int(input())
a = list(map(int, input().split()))
b = []
total = 0
x = 0

while 1:
    cnt = 0
    for i in a:
        if i%2==0:
            a[cnt]=i/2
            cnt += 1
        else:
            x += 1
            break
    if x!=0:
        break
    total += 1

print(total)

Solution (Python):
n=int(input())
a=list(map(int,input().split()))
j=0
import sys
while 1:
    for i in range(n):
        if a[i]%2!=0:
            print(j)
            sys.exit()
        else:
            a[i]=a[i]/2
    j+=1

Solution (Python):

 
N = int(input())
a = list(map(int, input().split(" ")))
c = []
 
for i in a:
  count = 0
  while not(i % 2):
    i = int(i / 2)
    count += 1
  c.append(count)
print(min(c))

Solution (Python):
input()
arr = list(map(int, input().split()))
def beki(a):
	beki_count = 0
	for i in range(a):
		if a % 2 == 0:
			a /= 2
			beki_count += 1
		else:
			break
	return beki_count
beki_arr = []
for i in range(len(arr)):
	beki_arr.append(beki(arr[i]))
print(min(beki_arr))

Solution (Python):
def ii():return int(input())
def iim():return map(int,input().split())
def iil():return list(map(int,input().split()))
def ism():return map(str,input().split())
def isl():return list(map(str,input().split()))

n = ii()
A = iil()

ans = 30

for i in A:
    num = i
    count = 0
    while num%2 == 0:
        num //=2
        count += 1
    ans = min(ans,count)

print(ans)

Solution (Python):

N = int(input())

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

ret = 0
while all([a % 2 == 0 for a in A]):
  ret += 1
  A = list(map(lambda x: x / 2, A))

print(ret)

Solution (Python):
input()
A = list(map(int, input().split()))
count = 0
while all(a % 2 == 0 for a in A):
    A = [a/2 for a in A]
    count += 1
print(count)

Solution (Python):
N = int(input())
A = list(map(int, input().split()))

checkList = []

def checkCount(num):
    count = 0
    while(num > 0):
        if num % 2 == 0:
            num/=2
            count+=1
        else:
            break
    checkList.append(count)

for num in A:
    checkCount(num)
    
print(min(checkList))

Solution (Python):
N = int(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(ans)

Solution (Python):
N = int(input())
li = list(map(int, input().split()))
count = 0
while True:
    flag = False
    for i in range(N):
        if li[i] % 2 == 0:
            li[i] /= 2
        else:
            flag = True
    if flag == True: break
    count += 1
print(count)

Solution (Python):
n = int(input())
a = list(map(int, input().split()))
count = 0
exist_odd = False
while count < 100:
  for i in range(n):
    if a[i]%2:
      exist_odd = True
    a[i] /= 2
  if exist_odd:
    break
  count += 1
print(count)

Solution (Python):
n = int(input())
a = list(map(int, input().split()))
cnt = 0
flag = True

while flag:
    ans = []
    for i in a:
        if i % 2 == 1:
            flag = False
        else:
            ans.append(i/2)
    if len(ans) == n:
        cnt += 1
        a = ans

print(cnt)

Solution (Python):
import sys
import os

ii = lambda: int(sys.stdin.buffer.readline().rstrip())
il = lambda: list(map(int, sys.stdin.buffer.readline().split()))
iln = lambda n: [int(sys.stdin.buffer.readline().rstrip()) for _ in range(n)]

iss = lambda: sys.stdin.buffer.readline().decode().rstrip()
isn = lambda n: [sys.stdin.buffer.readline().decode().rstrip() for _ in range(n)]


def main():
    if os.getenv("LOCAL"):
        sys.stdin = open("input.txt", "r")

    N = ii()
    A = il()
    ans = float('inf')
    for a in A:
        if a % 2 == 0:
            cnt = 0
            while True:
                if a % 2 == 0:
                    a = a // 2
                    cnt += 1
                else:
                    break
            ans = min(ans, cnt)
        else:
            print(0)
            exit()
    else:
        print(ans)


if __name__ == '__main__':
    main()

Solution (Python):
N = int(input())
A = list(map(int, input().split()))
ans = 0
while True:
  for i in range(N):
    if A[i] % 2 == 0:
      A[i] = A[i] // 2
    else:
      print(ans)
      exit()

  else:
    ans += 1
print(ans)

Solution (Python):
n = int(input())
list = list(map(int,input().split()))

number = 10000
for i in list:
  n_2 = 0
  while i%2 == 0:
    i = i /2
    n_2 = n_2 + 1
  if n_2 < number:
    number = n_2
print(number)

Solution (Python):
N = int(input())  
A = list(map(int, input().split()))
out = 0
flag = True

while flag:
    for i in range(N):
        if A[i]%2 != 0:
            flag = False
        A[i] = A[i]/2
    if flag:
        out = out + 1

print(out)

Solution (Python):

import sys
try:
    from typing import List
except ImportError:
    pass

MOD = 2  


def solve(N: int, A: "List[int]"):

    def f(ai: int):
        ans = 0
        while ai & 1 == 0:
            ai //= 2
            ans += 1
        return ans

    print(min(f(ai) for ai in A))


def main():
    def iterate_tokens():
        for line in sys.stdin:
            for word in line.split():
                yield word
    tokens = iterate_tokens()
    N = int(next(tokens))  
    A = [int(next(tokens)) for _ in range(N)]  
    solve(N, A)


if __name__ == '__main__':
    main()

Solution (Python):
N = int(input())  
s = list(map(int, input().split()))  
count = 0
tmpListLen = len(s)
halfList = list(filter(lambda x: x % 2 == 0, s))  

while tmpListLen == len(halfList):
    count += 1
    halfList = map(lambda x: x / 2, halfList)
    halfList = list(filter(lambda x: x % 2 == 0, halfList))
print(count)

Solution (Python):
n = int(input())
li = list(map(int,input().split()))
cnt = 0

while all(i%2==0 for i in li):
  for i in range(n):
    li[i]/=2
  cnt+=1

print(cnt)

Solution (Python):
input()
A=list(map(int,input().split()))
count=0
while all(a%2==0 for a in A):
    A=[a/2 for a in A]
    count +=1
print(count)

Solution (Python):
n = int(input())
a = list(map(int,input().split()))
s = 0
def calc_mod(x):
    return x%2
def calc_div(x):
    return x/2
while list(map(calc_mod, a)).count(0) == n:
    s += 1
    a = list(map(calc_div, a))
print(s)

Solution (Python):




"""def kiri(n,m):
  r_ = n / m
  if (r_ - (n // m)) > 0:
    return (n//m) + 1
  else:
    return (n//m)"""
 

 


 
 
 
def main():
  n = int(input())
  a = list(map(int,input().split()))
  cnt = 0
  while True:
    for i in range(n):
      if a[i] % 2 == 0:
        a[i] //= 2
      else:
        print(cnt)
        exit()
    cnt += 1
  
  
if __name__ == '__main__':
  main()

Solution (Python):
n = int(input())
line = list(map(int,input().split()))
box = []
for j in line:
  for i in range(31):
    if j % 2**i != 0:
      box.append(i-1)
      break
print(min(box))

Solution (Python):
n = int(input())
a = list(map(int,input().split()))
ans = 10000
for i in a:
    cnt = 0
    while(i % 2 == 0):
        i /= 2
        cnt += 1
    ans = min(ans,cnt)
print(ans)

Solution (Python):
N = input()
nums = input().split()
nums = [int(n) for n in nums]
cnt = 0

while(True):
    e_nums = [n/2 for n in nums if n % 2 == 0]

    if len(nums) > len(e_nums):
        break
    cnt += 1
    nums = e_nums
print(cnt)

Solution (Python):
import numpy as np
N = int(input())
A = np.array(list(map(int, input().split())))

ans = 0
while True:
    if np.count_nonzero(A & 1) != 0:
        break
    A = A >> 1
    ans += 1
print(ans)

Solution (Python):
n = input()
a = map(int,raw_input().split())
flag = 0
count = 0
while 1:
    for i in range(n):
        if a[i] % 2 != 0:
            flag = 1
            break
        else:
            a[i] /= 2
    if flag == 1: break
    count+=1
print count

Solution (Python):


def main():
    n = int(input())
    A = list(map(int, input().split()))

    result = 0
    flag = 0
    
    while True:
        for i in range(len(A)):
            if A[i] % 2 == 0:
                A[i] = A[i] // 2
            else:
                flag = 1
                break
        
        if flag == 1:
            break

        result += 1
    
    print(result)

if __name__ == '__main__':
    main()

Solution (Python):
n = int(input())
a = list(map(int, input().split()))

ans=0
while True:
  ok_flg=True
  for i in range(n):
    if a[i]%2==0:
      a[i] = a[i]//2
    else:
      ok_flg=False
  if not ok_flg:
    break
  ans+=1
print(ans)

Solution (Python):
N = int(input())

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



num = 0

while(1):
	for i in range(N):
		if(a_N[i] % 2 != 0):
			break
		a_N[i] /= 2
	else:
		num += 1
		continue
	break

print(num)

Solution (Python):
n=int(input())
a=list(map(int,input().split()))
count=0

while all(i%2==0 for i in a):
  for i in range(n):
    a[i]/=2
  count+=1
  
print(count)

Solution (Python):
import sys
input = sys.stdin.readline

INF = float('inf')


def main():
    N = int(input())
    A = list(map(int, input().split()))

    counter = 0
    while True:
        for i in range(len(A)):
            if A[i] % 2 == 0:
                A[i] /= 2
            else:
                print(counter)
                return
        counter += 1


if __name__ == '__main__':
    main()

Solution (Python):


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

sum = -1
b = 0

while b == 0:
    sum += 1
    for i in range(N):
        if a[i] % 2 == 0:
            a[i] = a[i] / 2
        else:
            b = 1

print(sum)

Solution (Python):
n = int(input())
*a, = map(int, input().split())
ans = 0
while all(i%2==0 for i in a):
    a = [i//2 for i in a]
    ans += 1
print(ans)

Solution (Python):
n=int(input())
a=list(map(int,input().split()))
k=0
while True:
    for j in range(n):
        if a[j]%2==0:
            a[j]/=2
            if j==n-1:
                k+=1
            else:pass
        else:
            print(k)
            exit()

Solution (Python):
import numpy as np

N = int(input())
A = list(map(int, input().split()))

nA = np.array(A)
ans = 0
while True:
    if all(i % 2 == 0 for i in nA):
        nA = nA // 2
        ans += 1
    else:
        break

print(ans)

Solution (Python):
n = int(input())

a_str = input()
a_list = list(map(int,a_str.split()))

n_list = []
for a in a_list:
    if int(a) % 2 != 0:
        n_list.append(0)
        break
    else:
        i = 0
        while int(a) > 1 and int(a) % 2 == 0:
            a = int(a) / 2
            i += 1
    n_list.append(i)
print(min(n_list))

Solution (Python):
import numpy as np

n=int(input())
A=np.array(list(map(int,input().split())))
ans=0
while all((A%2)==0):
    ans+=1
    A//=2
print(ans)

Solution (Python):
n = int(input())
a = list(map(int,input().split()))

ans = []

for i in range(n):
    tmp = a[i]
    cnt = 0
    for _ in range(1000):
        if tmp % 2 != 0:
            ans.append(0)
        tmp = tmp // 2
        cnt +=1
        if tmp % 2 != 0:
            ans.append(cnt)
            break
print(min(ans))

Solution (Python):
input()
A = list(map(int, input().split()))
count = 0
while all(a % 2 == 0 for a in A):
    A = [a/2 for a in A]
    count += 1
print(count)

Solution (Python):
N = int(input())
A = list(map(int, input().split()))
cnt = 0

while True:
  for i in range(N):
    if A[i] % 2 == 0 and i != N-1:
      A[i] //= 2
    elif A[i] % 2 == 0 and i == N-1:
      A[i] //= 2
      cnt += 1
    else:
      print(cnt)
      exit()

Solution (Python):
n = int(input())
numbers = list(map(int, input().split()))
ans = 0
while True:
    index = 1
    for i in range(n):
        if numbers[i] % 2 == 0:
            numbers[i] = numbers[i] / 2
        else:
            index = 0
            break
    if index == 1:
        ans += 1
    else:
        break
print(ans)

Solution (Python):
n = int(input())
a = list(map(int, input().split()))
ans = 0
while True:
    c = 1
    for i in range(n):
        if a[i] % 2 == 0:
            a[i] /= 2
        else:
            c = 0
            break
    if c == 0:
        break
    ans += 1
print(ans)

Solution (Python):
n = input()
nums = list(map(int, input().split()))
ans = float('inf')
for n in nums:
    bin_n = bin(n)
    ans = min(ans, len(bin_n) - bin_n.rfind('1') - 1)
print(ans)

Solution (Python):
N = int(input())
A_list = list(map(int,input().split()))

iter_num_list = []
for a in A_list:
    count = 0
    while a%2 == 0:
        a = a/2
        count += 1
    iter_num_list.append(count)
ans = sorted(iter_num_list)[0]
print(ans)

Solution (Python):

import sys
lines = sys.stdin.readlines()
N = lines[0]
N = N.strip()
A = lines[1]
A_iter = map(int,A.split()) 
A_list = []
for i in A_iter:
    A_list.append(i)

iter_num_list = []
for a in A_list:
    count = 0
    while a%2 == 0:
        a = a/2
        count += 1
    iter_num_list.append(count)
ans = sorted(iter_num_list)[0]
print(ans)

Solution (Python):
n = int(input())
A = list(map(int, input().split()))
ans = 1
flag = True

while True:
    for i in range(n):
        if A[i] % (2 ** ans) != 0:
            flag = False
            break

    if flag == False:
        break
    ans = ans + 1

print(ans - 1)

Solution (Python):
N = int(input())
arr = list(map(int, input().split()))

count=0
flag = False

while True:
    for j in range(N):
            if arr[j]%2 == 0:
                arr[j] /=2
            elif arr[j]%2 != 0:
                flag = True
                break

    if flag == True:
        break
    count += 1

print(count)

Solution (Python):
N = int(input())
arr = list(map(int, input().split()))

count=0
flag = False

while True:
    for j in range(N):
            if arr[j]%2 == 0:
                arr[j] /=2
            elif arr[j]%2 != 0:
                flag = True
                break
    count += 1
    if flag == True:
        break

print(count-1)

Solution (Python):
n = int(input())
a = [ int(x) for x in input().split() ]

cnt = [ 0 for _ in range(n) ]
for i in range(n):
    c = 0
    while True:
        if a[i] & 1:
            break
        c += 1
        a[i] //= 2
    cnt[i] = c

print(min(cnt))

Solution (Python):
def nyu():
    num1= input()
    num1 = int(num1)
    num2 = list(map(int,input().split()))
    
    return num1,num2


def check(A):
    max = 999999
    count = 0
    flg = 0
    for x in list(A):
        flg = 0
        count = 0
        while flg == 0:
            if x % 2 == 0:
                x = x/2
                count +=1
            else:
                if count<max:
                    max =count
                flg =1
                break   
    print(max)
             

N,A = nyu()
check(A)

Solution (Python):
import sys
n = int(input())
a = list(map(int,input().split()))

s = 0
while 0 not in a:
    for i,elem in enumerate(a):
        if elem % 2 != 0:
            print(s)
            sys.exit()
        else:
            a[i] /= 2

    s += 1

print(s)

Solution (Python):
a = int(input())
b = list(map(int, input().split()))

cnt = 0
endflag = False

while(True):
  for i in range(0,a):
    if ((b[i] %2 ) == 0):
      b[i] = b[i] / 2
    else:
      endflag = True
      break
  if (endflag):
    break
  cnt = cnt + 1

print(cnt)

Solution (Python):
def how_many_times_divisible(n):
  counter = 0
  while n % 2 == 0:
    n //= 2
    counter += 1
  return counter
  

_ = input()
print(min(map(lambda x: how_many_times_divisible(int(x)), input().split())))

Solution (Python):
N = int(input())
A = list(map(int, input().split()))
count = 0
while all(a % 2 == 0 for a in A):
    A = [a/2 for a in A]
    count += 1
print(count)

Solution (Python):
n=int(input())
a=list(map(int,input().split()))
cnt=-1
while True:
    cnt+=1
    for i in range(n):
        if a[i]%2==0:
            a[i]//=2
        else:
            break
    else:
        continue
    break
print(cnt)

Solution (Python):
N = int(input())
A = list(map(int, input().split()) )
n = -1
COND = True


while COND ==True:
    n += 1
    for i in range(N):
        if A[i] %2 == 0:
            A[i] = A[i] / 2
            continue
        else:
            COND = False
            break
    

print(n)

Solution (Python):
def wari(x):
    x=x/2
    if x%1==0:
        return x
    else:
        return -1
n=int(input())
a=list(map(int,input().split()))
s=0
while True:
    a=list(map(wari,a))
    if -1 in a:break
    else:
      s+=1
      
print(s)

Solution (Python):
n = int(input())
a = list(map(int, input().split()))
ans = 0
while True:
  if [i for i in a if i % 2 == 1]:
    break
  a = [i/2 for i in a]
  ans += 1
print(ans)

Solution (Python):
import numpy as np
N = int(input())
A = np.array(list(map(int, input().split())))
count = 0
while((A%2==0).all()):
    A=A/2
    count+=1
print(count)

Solution (Python):
input()
A = list(map(int, input().split()))
count = 0
while all(a % 2 == 0 for a in A):
    A = [a/2 for a in A]
    count += 1
print(count)

Solution (Python):

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


count = 0
isEven = True
while isEven:
  for num in a:
    isEven = num % 2 == 0 and isEven
  if isEven:
    a = [num/2 for num in a]
    count += 1


print(count)

Solution (Python):
N = int(input())
list_A = list(map(int,input().split()))
flag = 0
count = 0

while(True):
    for i in range(N):
        if list_A[i] % 2 != 0:
            flag = 1
    if flag == 0:
        list_A = list(map(lambda x: x/2 , list_A))
        count += 1
    else:
        break


print(count)

Solution (Python):
n=int(input())
a=list(map(int,input().split()))
cnt=0
count=0
for i in range(n):
            if a[i]%2 !=0:
                        print(0)
                        exit()
            else:
                        for k in range(10**6):
                                    for i in range(n):
                                                if a[i]%2 ==0:
                                                            cnt+=1
                                                            
                                                            a[i]=a[i]//2
                                                            
                                                            if cnt==n:
                                                                        count+=1
                                                                        cnt=0
                                                                        
                                                else:
                                                            print(count)
                                                            exit()

Solution (Python):
import math
n = 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))

Solution (Python):



N = int(input())
A_list = list(map(int, input().split()))


operation_count = 0 
can_operate = True 
while can_operate:
    operation_count += 1
    
    for i in range(len(A_list)):
        remainder = A_list[i] % 2
        if remainder == 0:
            
            A_list[i] /= 2
        else:
            
            can_operate = False
            operation_count -= 1
            break

print(operation_count)