def c_time3_or_div2(N, A):

    ans = 0  # Aの各要素の因数2の個数の和

    for a in A:

        while a % 2 == 0:

            ans += 1

            a //= 2

    return ans



N = int(eval(input()))

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

print((c_time3_or_div2(N, A)))
def c_time3_or_div2(N, A):

    # Aの各要素aにおける因数2の個数の和

    # aを2進数として下位ビットから見て、最初に1が現れた桁数が因数2の個数

    return sum((bin(a)[::-1].index('1') for a in A))



N = int(eval(input()))

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

print((c_time3_or_div2(N, A)))
def c_time3_or_div2(N, A):
    ans = 0  # Aの各要素の因数2の個数の和
    for a in A:
        while a % 2 == 0:
            ans += 1
            a //= 2
    return ans


N = int(eval(input()))
A = [int(i) for i in input().split()]
print((c_time3_or_div2(N, A)))

def c_time3_or_div2(N, A):
    # Aの各要素aにおける因数2の個数の和
    # aを2進数として下位ビットから見て、最初に1が現れた桁数が因数2の個数
    return sum((bin(a)[::-1].index("1") for a in A))


N = int(eval(input()))
A = [int(i) for i in input().split()]
print((c_time3_or_div2(N, A)))

-    ans = 0  # Aの各要素の因数2の個数の和 -    for a in A: -        while a % 2 == 0: -            ans += 1 -            a //= 2 -    return ans +    # Aの各要素aにおける因数2の個数の和 +    # aを2進数として下位ビットから見て、最初に1が現れた桁数が因数2の個数 +    return sum((bin(a)[::-1].index("1") for a in A))