#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const ll LINF = 2e18;
const int INF = 1e9;
void yes() { cout << "Yes" << endl; }
void no() { cout << "No" << endl; }
void yesOrNo(bool flg) {
  if (flg)
    cout << "Yes" << endl;
  else
    cout << "No" << endl;
}
void showVec(string name, std::vector<ll> x) {
  cerr << name << ": ";
  for (auto v : x) {
    cerr << v << " ";
  }
  cerr << endl;
}
void solve(ll N, std::vector<ll> a) {
  bool result = false;
  ll cntMul4 = 0;
  ll cnt2 = 0;
  for (int i = 0; i < N; i++) {
    if (a.at(i) % 4 == 0) {
      cntMul4++;
    }
    if (a.at(i) == 2) {
      cnt2++;
    }
  }
  ll cntAsMul4 = cntMul4 + (cnt2 / 2);
  ll otherCnt = N - cntAsMul4 + (cnt2 % 2);
  if (N % 2 == 0) {
    result = cntAsMul4 >= otherCnt;
  } else {
    result = cntAsMul4 + 1 >= otherCnt;
  }
  yesOrNo(result);
}
int main() {
  ll N;
  scanf("%lld", &N);
  std::vector<ll> a(N);
  for (int i = 0; i < N; i++) {
    scanf("%lld", &a[i]);
  }
  solve(N, std::move(a));
  return 0;
}
