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):
n = int(input())
a = list(map(int, input().split()))

c = -1
falg = True
while falg:
    a_t = []
    c = c + 1
    for i in a:
        if i % 2 == 1:
            falg = False
            break
        a_t.append(i / 2)
    a = a_t

print(c)

Solution (Python):




import numpy as np



def resolve():
    n=int(input())
    A=np.array(list(map(int,input().split())))

    cnt=0
    while all(i%2==0 for i in A):
        A = A//2
        cnt+=1
    print(cnt)



resolve()

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

div_count = 0
while True:
  includesOdd = False in [x % 2 == 0 for x in nums]
  if includesOdd:
    break
  nums = [x / 2 for x in nums]
  div_count += 1
print(div_count)

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

while True:
    if [i for i in  num if i % 2 == 1]:
        break
    num = [i/2 for i in num if i % 2 ==0]
    cnt = cnt + 1
print(cnt)

Solution (Python):
print(-(int(input())>0)+next(filter(lambda x:any(map(lambda y:y%(2**x[1])>0,x[0])),zip([list(map(int,input().split()))]*99,range(99))))[1])

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


def is_even(a):
    for i in a:
        if i % 2 != 0:
            return False
    return True


def divided_list(a):
    tmp_list = []
    for k in a:
        tmp_list.append(int(k / 2))
    return tmp_list


def aaa(a):
    if is_even(l):
        return divided_list(l)
    else:
        return False

count = 0
while aaa(l):
    count += 1
    l = aaa(l)

print(count)

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):
def main():
    N = int(input())
    A = list(map(int, input().split()))
    cnt = 0
    while True:
        for i in range(N):
            if A[i] % 2:
                print(cnt)
                exit()
            A[i] /= 2
        cnt += 1


if __name__ == '__main__':
    main()

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):
import re
firststr = int(input())
ary = input().split()
counter = 0
breaker = 0
while 1:
    for index , elm in enumerate(ary):
        elmnum= int(elm)
        if elmnum%2 is 0:
            tmp = elmnum / 2
            elm = int(tmp)
            ary[index] = elm
            continue
        else:
            breaker = True
            break
    if breaker is True:
        break
    counter+=1

print(counter)

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


while True:
	for j in range(n):
		if List[j]%2 != 0:
			break
		List[j] /= 2

	else:
		result += 1
		continue
	break
  
print(result)

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


for i in range(200):
	for j in range(n):
		if List[j]%2 != 0:
			break
		List[j] /= 2

	else:
		result += 1
		continue
	break
  
print(result)

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):
def count_two(n):
  count = 0
  while n % 2 == 0:
    count += 1
    n //= 2
  return count

def main():
  input()
  ary = list(map(int, input().split()))
  ans = 128
  for v in ary:
    ans = min(ans, count_two(v))

  print(str(ans))

if __name__ == '__main__':
  main()

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

ans=99
ansb=0
t=0
for i in range(x):
	ansb=0
	t=y[i]
	while t%2==0:
		ansb=ansb+1
		t=t/2
	if ans>ansb:
		ans=ansb
print(ans)

Solution (Python):
N = int(input())
A = [int(i) for i in input().split()]
ans = 0
flg = True

while flg:
    for i in range(N):
        if A[i] % 2:
            flg = False
            break
        else:
            A[i] >>= 1

    if flg:
        ans += 1

print(ans)

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

Solution (Python):
N=int(input())
lst=list(map(int,input().split()))
time=0
while True:
  for i in lst:
    if i%2!=0:
      break
  else:
    time+=1
    lst=[int(i/2) for i in lst]
    continue
  print(time)
  break

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()))
cout = 0
while all(a % 2 == 0 for a in A):
  A = [a/2 for a in A]
  cout += 1
print(cout)

Solution (Python):
def culEv (i, c = 0):
  if i % 2 == 0:
    c = c + 1
    c = culEv(i / 2, c)
  return c

s = [input() for i in range(2)]
n = int(s[0])
l = [int(i) for i in s[1].split()]
c = []
for i in l:
  if i % 2 != 0:
    c.append(0)
    break
  c.append(culEv(i))
print (min(c))

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

N = int(input())

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

ans = min(map(divisible,A))
print(ans)

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

C = []

for a in A:
    cnt = 0
    while a % 2 == 0:
        a /= 2
        cnt += 1
    else:
        C.append(cnt)

print(min(C))

Solution (Python):
def how_many(n):
  ans = 0
  while n % 2 == 0:
    n /= 2
    ans += 1
  return ans
 
n = int(input())
li = map(int, input().split())

ans = min(map(how_many, li))

print(ans)

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

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

print(count)

Solution (Python):
import sys
Row = input()
List = [int(j) for j in input().split()]
for i in range(len(List)):
    ans = List[i] % 2
    if ans == 1:
        print(0)
        sys.exit()

count = 0
flg = 0
while flg == 0:
    count = count + 1
    for j in range(len(List)):
        List[j] = List[j] / 2
        if List[j]%2:
            flg = 1
            break
print(count)

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(map(int, input().split()))
 
i = 0
odd = 0
while odd == 0:
    for n in range(N):
        if a[n] % 2 == 0:
            a[n] /= 2
        else:
            odd = 1
            break
    if odd == 0:
        i += 1
print(i)

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

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

count = 0

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

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

count = 0
S = []

def action(q):
    global count
    if q % 2 == 0:
        count += 1
        action(q/2)
    else:
        S.append(count)
        count = 0

for i in range(n):
    action(a[i])

print(min(S))

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

    res = 0
    while True:
        exist_odd = False
        for num in arr:
            if num % 2 != 0:
                exist_odd = True

        if exist_odd:
            break

        arr = list(map(lambda x: int(x/2), arr))
        res += 1

    print(res)

resolve()

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(map(int, input().split()))

flg = False
cnt = 0
while(True):
    for i, num in enumerate(a):
        if num%2 == 0:
            a[i] = int(num/2)
        else:
            flg = True
    if flg:
        break
    cnt += 1

print(cnt)

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

flg = False
cnt = 0
while(True):
    i = 0
    for num in a:
        
        if num%2 == 0:
            a[i] = int(num/2)
        else:
            flg = True
        i += 1
    if flg:
        break
    cnt += 1

print(cnt)

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

count = 0
while all(map(lambda x: x % 2**(count+1) == 0, nums)):
	count += 1

print(count)

Solution (Python):
N = int(input())
num = list(map(int,input().split()))
a=0
for i in range(N):
    b = 0
    if(num[i]%2 == 1):
        a = 0
        break
        
    while(num[i]%2==0):
        b += 1
        num[i] //= 2
        
    if(a==0 or a>b):
        a=b
print(a)

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(ans)

Solution (Python):
def shift_only(a):
    count = 0
    while a % 2 == 0:
        a /= 2
        count += 1
    return count

n = int(input())
a = list(map(int, input().split()))
ans = min(map(shift_only, a))
print(ans)

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

i = 0
odd = 0
while odd == 0:
    for n in range(N):
        if a[n] % 2 == 0:
            a[n] /= 2
        else:
            odd = 1
            break
    if odd == 0:
        i += 1
print(i)

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

B = []
for i in A:
    cnt = 0
    while i%2 == 0:
        if i%2 == 0:
            cnt += 1
            i = i/2
    B.append(cnt)
print(min(B))

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

b=[]
for i in a:
    k=0
    while i%2==0:
        k+=1
        i/=2
    b.append(k)

print(min(b))

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

while True:
    for i in range(n):
        if a[i] % 2 != 0:
            check = 1
    if check == 0:
        a = list(map(lambda a: a / 2, a))
        cnt += 1
    else:
        break
print(cnt)

Solution (Python):
def evenChecker(nums):
    for i in nums:
        if i % 2 == 1:
            return False
    return True

N = int(input())
nums = [int(i) for i in input().split()]
flag = True
cnt = 0
while flag == True:
    flag = evenChecker(nums)
    if not flag :
        break
    cnt += 1
    nums = [i/2 for i in nums]

print(cnt)

Solution (Python):
n = int(input())
a = list(map(int, input().split()))
cnt = 0
index = 0
while cnt >= 0:
  for i in a:
    if i % 2 == 0:
      a[index] = i // 2
    else:
      print(cnt)
      exit()
    index += 1
  index = 0
  cnt += 1
print(cnt)

Solution (Python):


def div2count(num:int):
    count = 0
    while num % 2 == 0:
        count += 1
        num = int(num/2)
    return count


n = int(input().rstrip())
ans = min([div2count(int(i)) for i in input().rstrip().split(" ")])

print(ans)

Solution (Python):
N = int(input())
list = [int(x) for x in input().split()]

ansList = [len(bin(x)) - bin(x).rfind('1') -1 for x in list]

print(min(ansList))

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

is_even = True
loop_count = 0
while (is_even):
    for r in a:
        if a[0] % 2 == 0:
            a.append((a[0] // 2))
            a.pop(0)
        else:
            is_even = False
            break
    else:
        loop_count += 1
print(loop_count)

Solution (Python):
t = 0
N = int(input())
a = list(map(int,input().split()))

while True:
    if [i for i in a if i %2 == 1]:
        break
    a = [i/2 for i in a]
    t += 1
print(t)

Solution (Python):
t = 0
N = int(input())
a = list(map(int,input().split()))

while True:
    if [i for i in a if i %2 == 1]:
        break
    a = [i/2 for i in a]
    t += 1
print(t)

Solution (Python):
n = int(input())
a_n = list(map(int, input().split()))
anslist = [0] * n
for id in range(n):
    while a_n[id] % 2 == 0:
        anslist[id] += 1
        a_n[id] //= 2
print(min(anslist))

Solution (Python):

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

while flag:
    l = []
    for element in A:
        if element%2 == 1:
            flag = False
            count -= 1
            break
        l.append(element/2)
    A = l
    count += 1

print(count)

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

Solution (Python):
N=int(input())
abcetc=input()
abli=abcetc.split()
abli=[int(s) for s in abli]
ctr=0
while all(i%2==0 for i in abli):
    for i in range(0,N):
        abli[i]=abli[i]/2
    ctr+=1
print(ctr)

Solution (Python):
n = int(input())
s = list(map(int, input().split()))
ln = []
for i in range(n):
    for j in range(1, s[i] // 2 + 1):
        if s[i] % (2 ** j) == 0 and s[i] % (2 ** (j + 1)) != 0:
            ln.append(j)
            break
        elif s[i] % 2 == 1:
            ln.append(0)
            break
print(min(ln))

Solution (Python):
import numpy as np

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

res = 0
count = 0
while res==0:
  res += (A%2).sum()
  A = A/2
  count += 1
print(int(count-1))

Solution (Python):
s=[[int(j) for j in input().split()] for i in range(2)]
N=s[0]
A=s[1]
accN=0
number=0
flag=1
while flag==1:
    for i in A:
        if i % 2==0:
            accN+=1
    if accN==N[0]:
        number+=1
        accN=0
        for i in range(N[0]):
            A[i]=A[i]/2
        
    else:
        flag=0
print(number)

Solution (Python):
n = input()
A = [int(x) for x in input().split()]
ans = float('inf')

for a in A:
    ans = min(ans, len(bin(a)) - bin(a).rfind('1') -1 )

print(ans)

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

Solution (Python):
N = int(input())
list = [int(x)  for x in input().split()]
ans = float('inf')
for a in list:
    ans = min(ans, len(bin(a))-bin(a).rfind('1')-1 )
print(ans)

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

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

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

is_even = True
count = 0

while(is_even):
    for r in t:
        if t[0] % 2 == 0:
            t.append(t[0] // 2)
            t.pop(0)
        else:
            is_even = False
            break
    else:  
        count += 1
        
print(count)

Solution (Python):


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


c = True
for i in range(n):
        if a[i] % 2 != 0:
            c = False
count = 0
while c:
    
    a = [a[i] // 2 for i in range(len(a))]
    count += 1
    for i in range(n):
        if a[i] % 2 != 0:
            c = False
            break
    
print(count)

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

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

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

import numpy as np

A = np.array(A)

cnt = 0

while 1 not in A % 2:
    A = A / 2
    cnt += 1

print(cnt)

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

Solution (Python):

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




count = 0

def hantei(l): 
    odd_count = 0
    for i in range(N):
        if (l[i] % 2 == 1):
            odd_count += 1
    return odd_count 

def split(l): 
    return [int(p / 2) for p in l]




while True:
    if(hantei(A) == 0):
        A = split(A)
        
        count += 1
        
    else:
        break

print(count)

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

Solution (Python):

num = int(input())
data = input().split()


count = 0

while(True):
    exist_odd = False
    for i in range(num):
        if int(data[i]) % 2 != 0:
            exist_odd = True
        
    if exist_odd:
        break

    for i in range(num):
        data[i] =  int(data[i]) // 2
        
    count += 1

print(count)

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

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

Solution (Python):


def EvenCheck(array):
    Even = True

    for i in array:
        if i % 2 != 0:
            Even = False

    return Even


def main():
    

    N = int(input())
    array = list(map(int,input().split()))
    cnt = 0

    while True:
        
        
        Check = EvenCheck(array)

        if Check == False:
            break

        cnt += 1
        for i in range(N):
            array[i] = int(array[i]/2)

    print(cnt)

main()

Solution (Python):
class Shift_only:
  def __init__(self):
    self.counter = 0
    self.even = True
  
  def result_even(self):
    return self.even
  
  def result_counter(self):
    return self.counter

  def check_even_and_division(self, num_list):
    new_num_list=[]
    for i in num_list:
      new_num_list.append(i/2)
      if i%2 !=0:
        self.even = False
    return new_num_list
  
  def add_counter(self):
    self.counter +=1
    return self.counter

  
if __name__ == '__main__' :
  N = input()
  A=list(map(int, input().split()))
  shift_only=Shift_only()
  while shift_only.result_even():
    A = shift_only.check_even_and_division(A)
    if shift_only.result_even():
      shift_only.add_counter()
  print(shift_only.result_counter())

Solution (Python):
n = int(input())
lst = list(map(int, input().split()))
cnt = 0
for i in range(30):
    flag = True
    for i in range(len(lst)):
        if lst[i] % 2 != 0:
            flag = False
        else:
            lst[i] /=  2
    if flag:
        cnt += 1
    else:
        break

print(cnt)

Solution (Python):

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

Solution (Python):
import numpy as np

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

cnt = 0
while sum(a%2) == 0:
    cnt += 1
    a = a//2
print(cnt)

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

Solution (Python):
n=int(input())
s=[int(x) for x in input().split()]
w=2**31
for x in s:
    w=min(w,x&-x)
tot=0
while w>1:
    w=w/2
    tot=tot+1
print(tot)

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):

def shiftonly(n , al):

    ans = 0
    flag = True

    while flag:
        for i in range(n):
            if al[i] % 2 == 1:
                flag = False
                break
            else:
                al[i] = al[i] / 2
        if flag:
            ans += 1


    return ans

def main():
    n = int(input())
    al = list(map(int , input().split()))
    print(shiftonly(n , al))

if __name__ == '__main__':
    main()

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

count = 0
cont = True
current = A
while cont == True:
  new = []
  for c in current:
    if (c % 2 == 0):
      new.append(c // 2)
      continue
    else:
      cont = False
      break
  if (cont == True):
    current = new
    count += 1
  else:
    break

print(count)

Solution (Python):
n = int(input())
a = list(map(int,input().split()))
m = 10*10
for i in range(n):
    t = a[i]
    cnt = 0
    while t%2 == 0:
        t //= 2
        cnt += 1
    m = min(m, cnt)
print(m)

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

loop_count = 0

while all(row % 2 == 0 for row in number_list):
    number_list = [row/2 for row in number_list]
    loop_count +=1
print(loop_count)

Solution (Python):
N = int(input())
a = [int(x) for x in input().split()]
cnt=0
Flag=True
while(Flag):
    for i in range(N):
        if a[i]%2!=0:
            Flag=False
            break
        a[i]/=2
    cnt+=1
print(cnt-1)

Solution (Python):
import numpy as np
N = int(input())
A_list = list(map(int, input().split()))
flag = True
cnt = 0
while(flag):
    for i in range(N):
        if A_list[i]%2!=0:
            flag=False
            break
        A_list[i]/=2
    cnt+=1
print(cnt-1)

Solution (Python):
N = int(input())
A = [int(_) for _ in input().split()]
res = 0
while all([a%2 == 0 for a in A]):
    for i in range(N):
        A[i] //= 2
    res += 1
print(res)

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

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())
l = list(map(int, input().split()))

count = 0
Flag = True
while Flag:
    for i in range(N):
        
        if l[i] % 2 == 0:
            l[i] = int(l[i] / 2)
        else:
            Flag = False

        
        if i == N-1 and Flag == True:
            count+=1
        
print(count)

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

while True:
    for val in a_L:
        if val % 2 != 0:
            print(counter)
            exit(0)
    counter +=1
    a_L = [i/2 for i in a_L]

Solution (Python):
N = int(input())
A = list(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())
Aseq=input()
Alist=Aseq.split()
A=[]
for i in range(N):
    A.append(int(Alist[i]))
a=[]
for i in range(N):
    ai=0
    while A[i]%2==0:
        ai+=1
        A[i]=A[i]/2
    a.append(ai)
b=min(a)
print(b)

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

count = 0

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

Solution (Python):
def I(): return int(input())
def MI(): return map(int, input().split())
def LI(): return list(map(int, input().split()))
mod=10**9+7

N=I()
A=LI()

ans=0
f=1

for i in range(100):
    if f==0:
        break
    for j in range(N):
        if A[j]%2==0:
            A[j]=A[j]//2
        else:
            f=0
            break
    if f==1:
        ans+=1
    
print(ans)

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

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


def half(_a):
    ret = list()
    for i in _a:
        if i % 2 != 0:
            return None
        else:
            ret.append(i//2)
    return ret


while True:
    a = half(a)
    if not a:
        break
    cnt += 1

print(cnt)

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

r = 0
a_len = len(a)
while True:
    a = [i/2 for i in a if i % 2 == 0]
    if len(a) == a_len:
        r += 1
    else:
        break
print(r)

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

r = 0
a_len = len(a)
while True:
    a = [i/2 for i in a if i % 2 == 0]
    if len(a) == a_len:
        r += 1
    else:
        break
print(r)

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

z = 0
y = []

for i in range(n):
    x = l[i]
    for j in range(max(l)):
        if x % 2 ==0:
            z += 1
            x = int(x/2)
        else:
            y.append(z)
            z = 0
            break


print(min(y))

Solution (Python):
n = int(input())
l = sorted(list(map(int, input().split())))
ans = 0
i = l[0]
while i % 2 == 0:
    ans += 1
    i /= 2
for i in l[1:]:
    c = 0
    while i % 2 == 0 and c <= ans:
        c += 1
        i /= 2
    if c <= ans:
        ans = c
print(ans)

Solution (Python):
N = int(input())
nums = list(map(int, input().split()))
total = 0

while (all(a % 2 == 0 for a in nums)):
    nums = [a // 2 for a in nums]
    total += 1

print(total)

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

div = 2
cnt = 0
FLAG = True

while (FLAG):
    
    for i in range(N):
        mod = nums[i] % div
        if (mod != 0):
            FLAG = False
            break
    
    if (FLAG):
        div *= 2
        cnt += 1

print(cnt)

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

sum = 0

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

print(sum)

Solution (Python):
import numpy as np

a = int(input())
b_np = np.array(list(map(int, input().split())))
ans_count = 0

while True:
  if 1 not in np.mod(b_np,2):
    b_np = b_np / 2
    ans_count += 1
  else:
    print(ans_count)
    break

Solution (Python):
import re

n = input()
a = [int(e) for e in input().split()]
ans = 10 ** 9
pat = re.compile('.*?(0*)$')

for e in a:
    ans = min(ans, len(re.match(pat, bin(e)).group(1)))

print(ans)

Solution (Python):
N = int(input())
l = list(map(int,input().split()))
num = 0
while(True):
  odd_flag = False
  for i in l:
    if (i % 2 !=0):
      odd_flag = True
  if(odd_flag):
    break
  for i in range(len(l)):
    l[i] = l[i] // 2
  num +=1
    
print(num)

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

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

ans=float('inf')
for a in A:
    aa=list(reversed(format(a,'b')))
    ai=aa.index('1')
    if ans>ai:
        ans=ai

print(ans)

Solution (Python):
input()
num_list = list(map(int, input().split()))
min_cnt = 999
for num in num_list:
  num_cnt = 0
  while True:
    if num % 2 == 1:
      if num_cnt < min_cnt: min_cnt = num_cnt
      break
    else:
      num = num / 2
      num_cnt += 1
print(min_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):
def main():
    N = int(input())
    num = list(map(int, input().split()))
    counter = [0] * N
    for j in range(N):
        while num[j]%2==0:
            num[j] = num[j]/2
            counter[j] += 1
    print(min(counter))

main()

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

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

count = 0
while True:
    odd_flag = False
    for value in num:
        if value % 2 != 0:
            odd_flag = True
    if odd_flag:
        break
    count += 1
    new_num = [value / 2 for value in num]
    num = new_num
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):
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
input()
A = np.array(list(map(int, input().split())))
ans = 0
while 1 not in A % 2:
    A = A // 2
    ans += 1
print(ans)

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

Solution (Python):
import numpy as np

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

ans = 0; n = 2
while (a % n == 0).all():
    n *= 2
    ans += 1

print(ans)

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

def calc_half(x):
    return x / 2

def check_even(x):
    return x % 2

def func(x, count):
    even_res = list(map(check_even, x))
    if 1 in even_res:
        return count
    x2 = list(map(calc_half, x))
    count += 1
    return func(x2, count)

count = func(a, 0)
print(count)

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

count = 0
flag = False
while True:
    for x in range(N):
        if A[x] % 2 == 0:
            A[x] = A[x]/2            
        else:
            flag = True
    if flag:
        break
    count += 1
print(count)