AtCoder Beginner Contest 100 - *3 or /2

As AtCoder Beginner Contest 100 is taking place, the office of AtCoder, Inc. is decorated with a sequence of length N, a = {a_1, a_2, a_3, ..., a_N}.

Snuke, an employee, would like to play with this sequence.
Specifically, he would like to repeat the following operation as many times as possible:
For every i satisfying 1 \leq i \leq N, perform one of the following: "divide a_i by 2" and "multiply a_i by 3".  
Here, choosing "multiply a_i by 3" for every i is not allowed, and the value of a_i after the operation must be an integer.

At most how many operations can be performed?

-----Constraints-----
 - N is an integer between 1 and 10 \ 000 (inclusive).
 - a_i is an integer between 1 and 1 \ 000 \ 000 \ 000 (inclusive).

-----Input-----
Input is given from Standard Input in the following format:
N
a_1 a_2 a_3 ... a_N

-----Output-----
Print the maximum number of operations that Snuke can perform.

-----Sample Input-----
3
5 2 4

-----Sample Output-----
3

The sequence is initially {5, 2, 4}. Three operations can be performed as follows:
 - First, multiply a_1 by 3, multiply a_2 by 3 and divide a_3 by 2. The sequence is now {15, 6, 2}.
 - Next, multiply a_1 by 3, divide a_2 by 2 and multiply a_3 by 3. The sequence is now {45, 3, 6}.
 - Finally, multiply a_1 by 3, multiply a_2 by 3 and divide a_3 by 2. The sequence is now {135, 9, 3}.

Source: atcoder | Difficulty: EASY


Solutions:
n = int(input())
l = list(map(int, input().split()))
ans = 0
for i in l:
	while i % 2 == 0:
		i /= 2
		ans += 1
print(ans)


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


input()
print(sum([len(bin(a & -a)) - 3 for a in map(int, input().split())]))


N = input()
A = list(map(int, input().split()))
ans = 0
for a in A:
	while a % 2 == 0:
		a /= 2
		ans += 1
print(ans)


N = int(input())
A = list(map(int, input().split(' ')))
ans = 0
for a in A:
	ans += len(bin(a)) - bin(a).rfind('1') - 1
print(ans)


N = int(input())
H = list(map(int, input().split()))
ans = 0
for i in range(N):
	while H[i] % 2 == 0:
		ans += 1
		H[i] //= 2
print(ans)


n = int(input())
A = list(map(int, input().split()))
c = 0
for i in A:
	while i % 2 == 0:
		i //= 2
		c += 1
print(c)


n = int(input().strip())
a = list(map(int, input().split()))
print(sum([format(num, 'b')[::-1].find('1') for num in a]))


N = int(input())
A = list(map(int, input().split()))
list1 = []
for i in range(N):
	cnt = 0
	if A[i] % 2 == 1:
		continue
	else:
		while A[i] % 2 == 0:
			cnt += 1
			A[i] = A[i] // 2
		list1.append(cnt)
if list1 == []:
	print(0)
elif len(list1) == 1:
	print(list1[0])
else:
	print(sum(list1))


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


n = int(input())
a = list(map(int, input().split()))
s = 0
for x in a:
	k = 0
	while x % 2 == 0:
		k += 1
		x //= 2
	s += k
print(s)


n = int(input())
A = map(int, input().split())
ans = 0
for a in A:
	while a % 2 == 0:
		a //= 2
		ans += 1
print(ans)


N = int(input())
A = list(map(int, input().split()))
counter = []
for num in range(len(A)):
	counter.append(0)
for num in range(len(A)):
	while A[num] % 2 == 0:
		A[num] = A[num] / 2
		counter[num] += 1
print(sum(counter))


n = int(input())
a = list(map(int, input().split()))
ans = 0
for num in a:
	ans += format(num, 'b')[::-1].find('1')
print(ans)


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


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


from functools import reduce
input()
print(format(reduce(lambda x, y: x * y, map(int, input().split())), 'b')[::-1].find('1'))


input()
print(sum(map(lambda x: bin(int(x))[::-1].find('1'), input().split())))


n = int(input())
a = list(map(int, input().split()))
ans = 0
for x in a:
	while x % 2 == 0:
		x /= 2
		ans += 1
print(ans)


N = input()
a = map(int, input().split())
count = 0
for j in a:
	while j % 2 == 0:
		count += 1
		j /= 2
print(count)


a = int(input())
lis = list(map(int, input().split()))
ans = 0
for i in lis:
	while i % 2 == 0:
		i = i / 2
		ans += 1
print(ans)


N = int(input())
A = list(map(int, input().split()))
c = 0
for a in A:
	while not a % 2:
		c += 1
		a //= 2
print(c)


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


N = int(input())
L = list(map(int, input().split()))
S = 0
for l in L:
	while l % 2 == 0:
		S += 1
		l = l // 2
print(S)


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


n = int(input())
A = list(map(int, input().split()))
ans = 0
for i in range(n):
	while A[i] % 2 == 0:
		A[i] = A[i] / 2
		ans += 1
print(ans)


input()
cnt = 0
for i in map(int, input().split()):
	while i % 2 == 0:
		i //= 2
		cnt += 1
print(cnt)


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


N = int(input())
A = [int(x) for x in input().split()]
ans = 0
for i in range(N):
	while A[i] % 2 == 0:
		A[i] //= 2
		ans += 1
print(ans)


int(input())
print(sum(map(lambda num: format(int(num), 'b')[::-1].index('1'), input().split())))


n = int(input())
nums = list(map(int, input().split()))
count = 0
even = False
for i in range(len(nums)):
	if nums[i] % 2 == 0:
		even = True
	while even:
		if nums[i] % 2 == 0:
			count += 1
			nums[i] = int(nums[i] / 2)
		else:
			even = False
print(count)


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

def get_divisible_count(x: int) -> int:
	divisible_count = 0
	while x % 2 == 0:
		divisible_count += 1
		x /= 2
	return divisible_count
ans = 0
for n in range(N):
	ans += get_divisible_count(a[n])
print(ans)


(n, *a) = map(int, open(0).read().split())
cnt = 0
for i in range(n):
	ai = a[i]
	while ai % 2 == 0:
		cnt += 1
		ai //= 2
print(cnt)


n = int(input())
a = list(map(int, input().split()))
cnt = 0
for c in a:
	cnt += format(c, 'b')[::-1].find('1')
print(cnt)


n = int(input())
x = list(map(int, input().split()))
c = 0
for i in range(n):
	while x[i] % 2 == 0:
		x[i] /= 2
		c += 1
print(c)


n = int(input())
A = list(map(int, input().split()))
ans = sum(((a & -a).bit_length() - 1 for a in A))
print(ans)


n = int(input())
v = list(map(int, input().split()))
count = 0
for i in v:
	while i % 2 == 0:
		i /= 2
		count += 1
print(count)


n = int(input())
a = tuple(map(int, input().split()))
ans = 0
for a_i in a:
	while a_i % 2 == 0:
		ans += 1
		a_i //= 2
print(ans)


n = int(input())
A = list(map(int, input().split()))
C = [0] * n
for i in range(n):
	cnt = 0
	while A[i] % 2 == 0:
		cnt += 1
		A[i] //= 2
	C[i] = cnt
print(sum(C))


def main():
	N = int(input())
	A = list(map(int, input().split()))
	ans = 0
	for a in A:
		for i in range(1, 31):
			if a % 2 ** i != 0:
				ans += i - 1
				break
	print(ans)

def __starting_point():
	main()
__starting_point()


N = int(input())
print(sum([bin(ai)[:1:-1].find('1') for ai in map(int, input().split())]))


def prime_factorization(x):
	import math
	re = []
	i = 2
	while x != 1:
		if x % i == 0:
			re.append(i)
			x //= i
		else:
			i += 1
			if i > math.sqrt(x):
				re.append(x)
				break
	return re

def solve(N, A):
	ans = 0
	for a in A:
		while a % 2 == 0:
			ans += 1
			a //= 2
	print(ans)

def __starting_point():
	N = int(input())
	A = [int(i) for i in input().split()]
	solve(N, A)
__starting_point()


N = int(input())
A = list(map(int, input().split()))
print(sum([len(bin(a).split('1')[-1]) for a in A]))


input()
s = input().split()
res = 0
for i in s:
	i = int(i)
	while True:
		if i % 2 == 0:
			res += 1
			i //= 2
		else:
			break
print(res)


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


input()
print(sum([len(bin(i).split('1')[-1]) for i in list(map(int, input().split()))]))


_ = input()
print(sum(list(map(lambda n: len(bin(n)) - len(bin(n).rstrip('0')), list(map(int, input().split()))))))


n = int(input())
ni = list(map(int, input().split()))
cnt = 0
for i in ni:
	while not i % 2:
		i //= 2
		cnt += 1
print(cnt)


input()
print(sum([bin(i)[::-1].index('1') for i in map(int, input().split())]))


_ = input()
ans = 0
for a in map(int, input().split()):
	while a % 2 == 0:
		a //= 2
		ans += 1
print(ans)


import numpy as np
n = int(input())
a = np.array(list(map(int, input().split())))
ans = 0
for x in a:
	while x % 2 == 0:
		ans += 1
		x //= 2
print(ans)


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


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


n = int(input())
a = map(int, input().split())
c = 0
for i in a:
	while i % 2 == 0:
		i = i // 2
		c += 1
print(c)


n = int(input())
a = list(map(int, input().split()))
ans = 0
for i in range(n):
	for j in range(29, 0, -1):
		if a[i] % 2 ** j == 0:
			ans += j
			break
print(ans)


import math
N = input()
a = list(map(int, input().split()))
ans = 0
for i in a:
	ans += len(bin(i)) - bin(i).rfind('1') - 1
print(ans)


import sys
import math
from collections import defaultdict, deque, Counter
from copy import deepcopy
from bisect import bisect, bisect_right, bisect_left
from heapq import heapify, heappop, heappush
input = sys.stdin.readline

def RD():
	return input().rstrip()

def F():
	return float(input().rstrip())

def I():
	return int(input().rstrip())

def MI():
	return map(int, input().split())

def MF():
	return map(float, input().split())

def LI():
	return list(map(int, input().split()))

def TI():
	return tuple(map(int, input().split()))

def LF():
	return list(map(float, input().split()))

def Init(H, W, num):
	return [[num for i in range(W)] for j in range(H)]

def main():
	N = I()
	L = LI()
	ans = 0
	for i in L:
		while True:
			if i % 2 == 0:
				i //= 2
				ans += 1
			else:
				break
	print(ans)

def __starting_point():
	main()
__starting_point()


input()
print(sum((bin(x)[::-1].index('1') for x in map(int, input().split()))))


n = int(input())
aaa = list(map(lambda x: format(int(x), 'b')[::-1].find('1'), input().split()))
print(sum(aaa))


n = int(input())
A = list(map(int, input().split()))
print(sum((len(format(a, 'b')) - format(a, 'b').rfind('1') - 1 for a in A)))


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


n = int(input())
a = list(map(int, input().split()))
ans = 0
for i in a:
	while i % 32 == 0:
		i //= 32
		ans += 5
	while i % 2 == 0:
		i //= 2
		ans += 1
print(ans)


def main():
	_ = int(input())
	A = list(map(int, input().split()))
	ans = 0
	for a in A:
		while a % 2 == 0 and a > 1:
			ans += 1
			a >>= 1
	print(ans)

def __starting_point():
	main()
__starting_point()


def main():
	n = int(input())
	a_lst = list(map(int, input().split()))
	count = 0
	for i in range(n):
		a = a_lst[i]
		while a % 2 == 0:
			count += 1
			a //= 2
	print(count)

def __starting_point():
	main()
__starting_point()


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


N = input()
lst = map(int, input().split())
ans = 0
for i in lst:
	while i % 2 == 0:
		i //= 2
		ans += 1
print(ans)


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


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

def count_2(x):
	if x % 2 != 0:
		return 0
	else:
		return count_2(x // 2) + 1
ans = 0
for i in range(n):
	ans += count_2(a[i])
print(ans)


N = int(input())
A = list(map(int, input().split()))
aa = [str(bin(aa))[::-1].find('1') for aa in A]
print(sum(aa))


n = input()
a = list(input().split())
c = 0
for i in range(len(a)):
	while int(a[i]) % 2 == 0:
		a[i] = int(a[i]) // 2
		c += 1
print(c)


n = int(input())
lis = list(map(int, input().split()))
ans = 0
for i in range(n):
	con = 0
	if lis[i] % 2 == 0:
		x = lis[i]
		while x % 2 == 0:
			x = int(x / 2)
			con += 1
	ans += con
print(ans)


n = int(input())
s = list(map(int, input().split()))
x = 0
for i in s:
	while i % 2 == 0:
		i /= 2
		x += 1
print(x)


N = int(input())
A = [int(x) for x in input().split()]
score = 0
for i in A:
	while i % 2 == 0:
		i /= 2
		score += 1
print(score)


n = int(input())
a = list(map(int, input().split()))
num = 0
for i in a:
	if i % 2 == 0:
		t = i
		z = 'YES'
		while z == 'YES':
			if t % 2 == 0:
				num += 1
				t /= 2
			else:
				z == 'NO'
				break
print(num)


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

def prime_factorize(n):
	a = []
	while n % 2 == 0:
		a.append(2)
		n //= 2
	f = 3
	while f * f <= n:
		if n % f == 0:
			a.append(f)
			n //= f
		else:
			f += 2
	if n != 1:
		a.append(n)
	return a
fact_list = []
for item in a:
	fact_list += prime_factorize(item)
print(fact_list.count(2))


N = int(input())
A = list(map(int, input().split()))
M = []
for i in A:
	if i % 2 == 0:
		M.append(i)
ans = 0
for j in M:
	while j % 2 == 0:
		j //= 2
		ans += 1
print(ans)


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


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


a = 0
N = int(input())
X = map(int, input().split())
for x in X:
	while x % 2 == 0:
		x = x / 2
		a += 1
print(a)


n = int(input())
a = sorted(list(map(int, input().split())))
ans = 0
for i in a:
	if i % 2 == 0:
		while i % 2 == 0:
			ans += 1
			i //= 2
print(ans)


N = int(input())
a = list(map(int, input().split()))
res = 0
for x in a:
	while x % 2 == 0:
		x /= 2
		res += 1
print(res)


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

def two_divisor(x):
	cnt = 0
	while x % 2 == 0:
		x //= 2
		cnt += 1
	return cnt
ans = 0
for i in range(N):
	if A[i] % 2 == 0:
		ans += two_divisor(A[i])
print(ans)


import sys
input = sys.stdin.readline
n = int(input())
A = list(map(int, input().split()))
for i in range(n):
	d = 0
	while A[i] > 0:
		if A[i] % 2 == 0:
			d += 1
			A[i] = A[i] // 2
		else:
			break
	A[i] = d
print(sum(A))


n = int(input())
a = list(map(int, input().split()))
res = 0
for ele in a:
	while ele % 2 == 0:
		res += 1
		ele //= 2
print(res)


n = int(input())
a = list(map(int, input().split()))
ans = 0
for aa in a:
	while aa / 2 != 0 and aa % 2 == 0:
		aa /= 2
		ans += 1
print(ans)


def c(x):
	a = 0
	while x % 2 == 0:
		a += 1
		x //= 2
	return a
n = input()
print(sum((c(int(i)) for i in input().split())))


input()
print(sum(map(lambda a: len(bin(int(a) & -int(a))) - 3, input().split())))


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


int(input())
print(sum(map(lambda a: format(int(a), 'b')[::-1].index('1'), input().split())))


import sys
input = sys.stdin.readline
import numpy as np

def main():
	n = int(input())
	numbers = list(map(int, input().split()))
	numbers = np.array(numbers)
	count = 0
	if np.all(numbers % 2 == 1):
		print(0)
		return
	while True:
		if np.all(numbers % 2 == 1) == True:
			break
		else:
			idx = np.where(numbers % 2 == 0)
			count += np.count_nonzero(numbers % 2 == 0)
			numbers[idx] = numbers[idx] // 2
	print(count)

def __starting_point():
	main()
__starting_point()


N = int(input())
As = input().split(' ')
As = [int(As[i]) for i in range(N)]
EVEN = 0
for i in range(N):
	if As[i] % 2 == 0:
		while As[i] % 2 == 0:
			As[i] /= 2
			EVEN += 1
print(EVEN)


N = int(input())
a = map(int, input().split())
print(sum([sum([1 for i in range(30) if n % 2 ** (i + 1) == 0]) for n in a]))


N = int(input())
a = [int(i) for i in input().split()]
b = [len(bin(i)) - bin(i).rfind('1') - 1 for i in a]
print(sum(b))


n = int(input())
As = list(map(int, input().split()))
count = 0
for an in As:
	while an % 2 == 0:
		count += 1
		an = an / 2
print(count)


input()
d = list(map(int, input().split()))
a = 0
for i in range(len(d)):
	while d[i] % 2 == 0:
		d[i] //= 2
		a += 1
print(a)


input()
a = [bin(int(i))[::-1].index('1') for i in input().split()]
print(sum(a))


N = input()
alist = [int(i) for i in input().split()]
d = 0
for i in alist:
	while i % 2 == 0:
		i = i / 2
		d += 1
print(d)


print(sum((bin(i)[::-1].find('1') for i in [*map(int, open(0).read().split())][1:])))


n = int(input())
r = list(map(int, input().split()))
c = 0
for x in r:
	while x % 2 == 0:
		x //= 2
		c += 1
print(c)


input()
l = map(int, input().split())
a = 0
for i in l:
	while i % 2 < 1:
		i //= 2
		a += 1
print(a)


N = int(input())
lsa = list(map(int, input().split()))
ans = 0
for i in range(N):
	a = lsa[i]
	while a % 2 == 0:
		ans += 1
		a = a // 2
print(ans)


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


N = int(input())
As = list(map(int, input().split()))
r = 0
for a in As:
	while a % 2 == 0:
		a = a // 2
		r += 1
print(r)


import math
N = int(input())
a = list(map(int, input().split()))
ans = 0
for i in a:
	while True:
		if i % 2 == 0:
			i = i / 2
			ans += 1
		else:
			break
print(ans)


def mai():
	input()
	t = list(map(int, input().split()))
	t.sort(reverse=True)
	count = 0
	val = t[0]
	tmp_count = 0
	for v in t:
		while v % 2 == 0:
			v //= 2
			tmp_count += 1
	print(tmp_count)

def __starting_point():
	mai()
__starting_point()


from math import log
n = int(input())
A = list(map(int, input().split()))
ans = 0
cnt = 0
for i in range(n):
	a = A[i]
	while a % 2 == 0:
		a //= 2
		cnt += 1
print(cnt)


input()
xs = map(int, input().split())
cnt = lambda n: bin(n)[::-1].find('1')
print(sum((cnt(x) for x in xs)))


N = int(input())
k = 0
for a in map(int, input().split()):
	while a % 2 == 0:
		k += 1
		a //= 2
print(k)


input()
aa = map(int, input().split())
n = 0
for a in aa:
	while a & 1 == 0:
		a >>= 1
		n += 1
print(n)


N = int(input())
a = map(int, input().split())
ans = 0
for ai in a:
	while ai % 2 == 0:
		ans += 1
		ai = ai / 2
print(ans)


N = int(input())
a = list(map(int, input().split()))
cc = 0
for i in a:
	while i % 2 == 0:
		cc += 1
		i = i / 2
print(cc)


N = int(input())
x = list(map(int, input().split()))
cnt = 0
for i in x:
	while i % 2 == 0:
		cnt += 1
		i /= 2
print(cnt)


from functools import reduce

def divideCount(k):
	cnt = 0
	while k % 2 == 0:
		k //= 2
		cnt += 1
	return cnt

def solve(a):
	return sum(map(divideCount, a))

def main():
	_ = int(input())
	a = list(map(int, input().split()))
	print('{}'.format(solve(a)))

def __starting_point():
	main()
__starting_point()


a = int(input())
b = list(map(int, input().split()))
c = []
ans = 0
while b:
	for i in b:
		if i % 2 == 0:
			c.append(i // 2)
	b = c
	ans += len(b)
	c = []
print(ans)


N = int(input())
N_List = list(map(int, input().split()))
cnt = 0
while len(N_List) != 0:
	N_List = [i // 2 for i in N_List if i % 2 == 0].copy()
	cnt += len(N_List)
print(cnt)


input()

def f(a):
	a = int(a)
	r = 0
	while a % 2 == 0:
		a /= 2
		r += 1
	return r
print(sum(map(f, input().split())))


(n, *aa) = map(int, open(0).read().split())
ans = 0
for a in aa:
	while a % 2 == 0:
		ans += 1
		a //= 2
print(ans)


N = int(input())
A = [int(i) for i in input().split()]
c = 0
for a in A:
	c += bin(a)[2:][::-1].index('1')
print(c)


N = int(input())
A = list(map(int, input().split()))
ans = 0
for a in A:
	ans += bin(a)[::-1].index('1')
print(ans)


n = int(input())
a = list(map(int, input().split()))
s = 0
for _ in range(n):
	b = a[_]
	while b % 2 == 0:
		b = b / 2
		s += 1
print(s)


n = int(input())
a = list(map(int, input().split()))
ans = 0
for i in a:
	buf = i
	ans += format(buf, 'b')[::-1].find('1')
print(ans)


n = int(input())
a_list = list(map(int, input().split()))
num_of_factor_2 = []
for i in range(len(a_list)):
	a_trial = 0
	while a_list[i] % 2 == 0:
		a_list[i] = a_list[i] / 2
		a_trial += 1
	num_of_factor_2.append(a_trial)
print(sum(num_of_factor_2))


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

def check(p):
	c = 0
	while p % 2 == 0:
		c += 1
		p //= 2
	return c
res = 0
for i in range(n):
	res += check(a[i])
print(res)


(n, *nums) = map(int, open(0).read().split())
print(sum([format(num, 'b')[::-1].find('1') for num in nums]))


print(0 * int(input()) + sum(list(map(lambda x: sum([0 if int(x) % 2 ** i else 1 for i in range(1, 30)]), input().split()))))


n = int(input())
a = [int(x) for x in input().split()]
cnt = 0
for i in range(n):
	while a[i] % 2 == 0:
		cnt += 1
		a[i] //= 2
print(cnt)


N = int(input())
A = list(map(int, input().split()))
print(sum([format(A[i], 'b')[::-1].find('1') for i in range(N)]))


N = int(input())
a = list(map(int, input().split()))
ans = 0
for i in a:
	ans += format(i, 'b')[::-1].find('1')
print(ans)


import sys

def factorize(n):
	if n == 2:
		return [2]
	b = 2
	fct = []
	while b * b <= n:
		while n % b == 0:
			n //= b
			fct.append(b)
		break
	return fct
input = sys.stdin.readline
n = int(input())
a_list = list(map(int, input().split()))
count_2 = 0
for a in a_list:
	count_2 += len(factorize(a))
print(count_2)


def d(x, c):
	if x % 2 != 0:
		return c
	return d(x / 2, c + 1)
input()
print(sum((d(i, 0) for i in map(int, input().split()))))


N = int(input())
A = map(int, input().split())
s = 0
for a in A:
	while a % 2 == 0:
		s += 1
		a = a // 2
print(s)


n = int(input())
f = lambda x: 0 if x % 2 > 0 else 1 + f(x // 2)
print(sum((f(int(x)) for x in input().split())))


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

def div2(v, a):
	res = 0
	if v == 0:
		return res
	while v % a == 0:
		v = v // a
		res += 1
	return res
ans = 0
for a in al:
	ans += div2(a, 2)
print(ans)


N = int(input())
A = [int(x) for x in input().split()]
ans = 0
for a in A:
	while a % 2 == 0:
		a //= 2
		ans += 1
print(ans)


N = int(input())
(*A,) = map(int, input().split())
ans = 0
for a in A:
	ans += (a & -a).bit_length() - 1
print(ans)


n = int(input())
a = list(map(int, input().split()))
c = 0
for ai in a:
	while ai % 2 == 0:
		ai /= 2
		c += 1
print(c)


input()
print(sum((bin(i)[::-1].find('1') for i in map(int, input().split()))))


def twos(m):
	rt = 0
	while m % 2 == 0:
		m //= 2
		rt += 1
	return rt
n = int(input())
a = list(map(int, input().split()))
ans = 0
for j in a:
	ans += twos(j)
print(ans)


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

def findout(n):
	cnt = 0
	while n % 2 == 0:
		n = n // 2
		cnt += 1
	return cnt
A = [findout(s) for s in S]
print(sum(A))


input()
xs = [int(x) for x in input().split()]
o = 0
for x in xs:
	while not x % 2:
		x //= 2
		o += 1
print(o)


(N, *A) = map(int, open(0).read().split())
cnt = 0
for a in A:
	for n in range(1, 31):
		if a % 2 ** n != 0:
			cnt += n - 1
			break
print(cnt)


(_, a) = open(0)
print(sum((bin(int(x))[::-1].index('1') for x in a.split())))


def f(x):
	return 0 if int(x) % 2 else f(int(x) // 2) + 1
n = input()
print(sum(list(map(f, input().split()))))


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


input()

def div2(n):
	i = 0
	while n % 2 == 0:
		(i, n) = (i + 1, n / 2)
	return i
arr = map(div2, map(int, input().split()))
print(sum(arr))


(N, *a) = map(int, open(0).read().split())
cnt = 0
while a:
	a = [x // 2 for x in a if x % 2 == 0]
	cnt += len(a)
print(cnt)


N = int(input())
List = list(map(int, input().split()))
counter = 0
for item in List:
	while True:
		if item % 2 == 0:
			counter += 1
			item /= 2
		else:
			break
print(counter)


n = int(input())
L = list(map(int, input().split()))
ans = 0

def cal(x):
	if x % 2 != 0:
		return 0
	return cal(x // 2) + 1
for l in L:
	ans += cal(l)
print(ans)


n = int(input())
l = input().split()
sum = 0
for i in l:
	x = int(i)
	while x % 2 == 0:
		x = x / 2
		sum = sum + 1
print(sum)


import math
n = int(input())
la = [int(w) for w in input().split()]
mrb = [math.log2(b & -b) for b in la]
print(int(sum(mrb)))


N = int(input())
A = [int(x) for x in input().split()]
B = []
for i in range(N):
	B += [bin(A[i])[::-1].find('1')]
print(sum(B))


def __starting_point():
	N = int(input())
	lia = list(map(int, input().split()))
	C = 0
	for i in range(N):
		if lia[i] % 2 == 0:
			tmp = lia[i]
			while tmp % 2 == 0:
				tmp = tmp / 2
				C += 1
	print(int(C))
__starting_point()


a = int(input())
c = 0

def div2(a):
	global c
	c += bin(a)[::-1].index('1')
for x in input().split():
	div2(int(x))
print(c)


N = int(input())
a = list(map(int, input().split()))
count = 0
for i in a:
	if i % 2 == 0:
		while i % 2 == 0:
			i //= 2
			count += 1
print(count)


_ = input()
print(sum(map(lambda x: (bin(int(x))[:2:-1] + '1').index('1'), input().split())))


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


n = int(input())
a = list(map(int, input().split()))
c = 0
for ii in range(n):
	c += format(a[ii], 'b')[::-1].find('1')
print(c)


import sys
input = sys.stdin.readline
n = int(input())
a = list(map(int, input().split()))
cnt = 0
for i in a:
	while i % 2 == 0:
		i //= 2
		cnt += 1
print(cnt)


N = int(input())
A = list(map(int, input().split()))
r = 0
for a in A:
	c = 0
	while a & 1 << c == 0:
		c += 1
	r += c
print(r)


def main():
	import sys
	pin = sys.stdin.readline
	pout = sys.stdout.write
	perr = sys.stderr.write
	N = int(pin())
	a = list(map(int, pin().split()))
	ans = 0
	for i in a:
		if i % 2 == 1:
			continue
		t = i
		while True:
			if t % 2 == 0:
				t = t // 2
				ans += 1
			else:
				break
	print(ans)
	return
main()


n = int(input())
a = list(map(int, input().split()))
lst = []
for i in a:
	if i % 2 == 0:
		lst.append(i)

def half(x):
	cnt = 0
	for i in range(x):
		if x % 2 == 0:
			x = x // 2
			cnt += 1
		else:
			break
	return cnt
ans = 0
for i in lst:
	ans += half(i)
print(ans)


N = int(input())
s = list(map(int, input().split()))
z = 0
for i in range(N):
	while s[i] % 2 == 0:
		z += 1
		s[i] //= 2
print(z)


n = int(input())
a = list(map(int, input().split()))
c = 0
for x in a:
	y = x
	while y % 2 == 0:
		y //= 2
		c += 1
print(c)


import math
N = int(input())
a = list(map(int, input().split()))
ans = 0
for i in a:
	ans += math.log2(i & -i)
print(int(ans))


def get_input() -> tuple:
	N = int(input())
	a = list(map(int, input().split()))
	return (N, a)

def get_divisible_count(x: int) -> int:
	divisible_count = 0
	while x % 2 == 0:
		divisible_count += 1
		x /= 2
	return divisible_count

def main(N: int, a: list) -> tuple:
	ans = 0
	for n in range(N):
		ans += get_divisible_count(a[n])
	print(ans)

def __starting_point():
	(N, a) = get_input()
	main(N, a)
__starting_point()


n = int(input())
aa = list(map(int, input().split()))
ans = 0
for a in aa:
	s = format(a, 'b')
	ans += len(s) - s.rfind('1') - 1
print(ans)


n = int(input())
a = list(map(int, input().split()))
count = 0
for i in a:
	count += len(bin(i)) - bin(i).rfind('1') - 1
print(count)


n = int(input())
x = list(map(int, input().split()))
cnt = 0
for i in range(n):
	cnt += format(x[i], 'b')[::-1].find('1')
print(cnt)