모든 값이 0으로 채워져 있는 길이가 N인 배열 A가 있다. 영선이는 다음과 같은 두 연산을 수행할 수 있다.
배열 B가 주어졌을 때, 배열 A를 B로 만들기 위한 연산의 최소 횟수를 구하는 프로그램을 작성하시오.
# 12931
import sys
input = lambda: sys.stdin.readline().strip()
# 1. 배열에 홀수가 있다면 1 감소
# 2. 배열에 홀수가 없다면 모든 수를 1/2 배
# 3. 배열의 모든 수가 0이 된다면 끝
n = int(input())
arr = list(map(int, input().split()))
count = 0
while max(arr) > 0:
check = True
for i in range(n):
if arr[i] % 2 == 1:
check = False
arr[i] -= 1
break
if check:
for i in range(n):
arr[i] = arr[i] // 2
count += 1
print(count)