#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <vector>
#include <queue>
#include <stack>
#include <map>
#include <bitset>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
#define rep(i,a,n) for(ll i = (a);i < (n);i++)
#define per(i,a,n) for(ll i = (a);i > (n);i--)
#define lep(i,a,n) for(ll i = (a);i <= (n);i++)
#define pel(i,a,n) for(ll i = (a);i >= (n);i--)
#define clr(a,b) memset((a),(b),sizeof(a))
#define pb push_back
#define mp make_pair
#define all(c) (c).begin(),(c).end()
#define sz size()
#define put puts("")
#define print(x) cout << x << endl
#define print2(x,y) cout << x << " " << y << endl
#define print3(x,y,z) cout << x << " " << y << " " << z << endl
int n,m;
int a = 0,b,c;
int ans;
int d[100000],p[100000];
int dp[100000][100000];

int main(){
  cin >> n;
  vector<int> v1,v2;
  rep(i,0,n){
    cin >> m;
    if(m % 2 == 0)v2.pb(m);
    else v1.pb(m);
  }
  if(v1.sz-1 > v2.sz)print("NO");
  else{
    rep(i,0,v2.sz)if(v2[i] % 4 == 0)a++;
    if(v1.sz-a < v2.sz-a)print("YES");
    else if((v1.sz-a == 1 && v2.sz-a == 0))print("YES");
    else print("NO");
  }
  return 0;
}
