//#define _CRT_SECURE_NO_WARNINGS
#define LOCAL_CHUNYU

//#include <iostream>
#include <cstdio>
#include <vector>
#include <algorithm>
#include <cstring>	//memset
#include <ctime>
//#include <cmath>


using std::vector;
using std::sort;
using std::swap;

typedef long long LL;
const int maxn = 1e5 + 10;
const int mod = 1e9 + 7;
const double eps = 1e-8;
//const double pi = acos(-1.0);

#define equ(a,b) ((fabs((a)-(b))) < (eps))
#define gth(a,b) (((a)-(b)) > (eps))
#define lth(a,b) (((a)-(b)) < (-eps))
#define gequ(a,b) (((a)-(b)) > (-eps))
#define lequ(a,b) (((a)-(b)) < (eps))



int main() {
#ifdef LOCAL_CHUNYU
	//freopen("in.txt", "r", stdin);
#endif // LOCAL_CHUNYU

    int N;
    scanf("%d",&N);
    int *sample = new int[N];
    for(int i = 0; i < N; ++i){
        scanf("%d",sample + i);
    }
    sort(sample, sample + N);
    int flag = 0;
    for(int i = 0; i < N - 1; ++i){
        int temp = i + 1;
        int j;
        for(j = temp; j < N; ++j){
            if(sample[j] * sample[i] % 4 == 0){
                if(j == temp)
                    break;
                else{
                    swap(sample[temp], sample[j]);
                    sort(sample + temp + 1, sample + N);
                    break;
                }

            }

        }
        if(j == N){
            flag = 1;
            printf("No\n");
            break;
        }
    }
    if(flag == 0){
        printf("Yes\n");
    }



	return 0;
}
