def Q3(lst):

    import numpy as np

    N = len(lst)

    lst = np.array(lst)

    num4 = len(lst[np.where(lst % 4 == 0)])  # 4の倍数の個数

    num2 = len(lst[np.where((lst % 4 != 0) & (lst % 2 == 0))])  # 4の倍数でない2の倍数

    numOther = len(lst[np.where((lst % 4 != 0) & (lst % 2 != 0))])



    if num2 == 0:

        if numOther <= num4 + 1:

            return 'Yes'

        else:

            return 'No'

    else:

        if numOther <= num4:

            return 'Yes'

        else:

            return 'No'



n = int(eval(input()))

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

print((Q3(l)))
def c_4adjacent(N, A):  # 解説通りに実装

    # 4の倍数、4の倍数でない2の倍数、奇数の数

    num_4, num_2, num_other = 0, 0, 0

    for a in A:

        if a % 4 == 0:

            num_4 += 1

        elif a % 2 == 0:

            num_2 += 1

        else:

            num_other += 1



    if num_2 == 0:

        ans = 'Yes' if num_other <= num_4 + 1 else 'No'

    else:

        ans = 'Yes' if num_other <= num_4 else 'No'

    return ans



N = int(eval(input()))

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

print((c_4adjacent(N, A)))

def Q3(lst):
    import numpy as np

    N = len(lst)
    lst = np.array(lst)
    num4 = len(lst[np.where(lst % 4 == 0)])  # 4の倍数の個数
    num2 = len(lst[np.where((lst % 4 != 0) & (lst % 2 == 0))])  # 4の倍数でない2の倍数
    numOther = len(lst[np.where((lst % 4 != 0) & (lst % 2 != 0))])
    if num2 == 0:
        if numOther <= num4 + 1:
            return "Yes"
        else:
            return "No"
    else:
        if numOther <= num4:
            return "Yes"
        else:
            return "No"


n = int(eval(input()))
l = [int(i) for i in input().split()]
print((Q3(l)))

def c_4adjacent(N, A):  # 解説通りに実装
    # 4の倍数、4の倍数でない2の倍数、奇数の数
    num_4, num_2, num_other = 0, 0, 0
    for a in A:
        if a % 4 == 0:
            num_4 += 1
        elif a % 2 == 0:
            num_2 += 1
        else:
            num_other += 1
    if num_2 == 0:
        ans = "Yes" if num_other <= num_4 + 1 else "No"
    else:
        ans = "Yes" if num_other <= num_4 else "No"
    return ans


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

-def Q3(lst): -    import numpy as np - -    N = len(lst) -    lst = np.array(lst) -    num4 = len(lst[np.where(lst % 4 == 0)])  # 4の倍数の個数 -    num2 = len(lst[np.where((lst % 4 != 0) & (lst % 2 == 0))])  # 4の倍数でない2の倍数 -    numOther = len(lst[np.where((lst % 4 != 0) & (lst % 2 != 0))]) -    if num2 == 0: -        if numOther <= num4 + 1: -            return "Yes" +def c_4adjacent(N, A):  # 解説通りに実装 +    # 4の倍数、4の倍数でない2の倍数、奇数の数 +    num_4, num_2, num_other = 0, 0, 0 +    for a in A: +        if a % 4 == 0: +            num_4 += 1 +        elif a % 2 == 0: +            num_2 += 1 -            return "No" +            num_other += 1 +    if num_2 == 0: +        ans = "Yes" if num_other <= num_4 + 1 else "No" -        if numOther <= num4: -            return "Yes" -        else: -            return "No" +        ans = "Yes" if num_other <= num_4 else "No" +    return ans -n = int(eval(input())) -l = [int(i) for i in input().split()] -print((Q3(l))) +N = int(eval(input())) +A = [int(i) for i in input().split()] +print((c_4adjacent(N, A)))