#include <bits/stdc++.h>
using namespace std;
using LL = long long;
using ULL = unsigned long long;
long long MOD = 1000000000 + 7;
constexpr long long INF = std::numeric_limits<LL>::max();
const double PI = acos(-1);
struct Tll {
  LL first, second, third;
};
LL h, w, n, m, k, t, s, q, last, cnt, sum, ans, dp[10000][10000], a[200000],
    b[2000000];
string str, ss, dd;
bool f, ff;
char c[10000][10000];
int di[4][2] = {{0, 1}, {1, 0}, {-1, 0}, {0, -1}};
struct Edge {
  LL to, cost;
};
vector<Edge> vec[10000];
vector<pair<LL, LL> > v;
map<string, LL> ma;
set<LL> st;
void YN(bool f) {
  if (f)
    cout << "YES" << endl;
  else
    cout << "NO" << endl;
}
void yn(bool f) {
  if (f)
    cout << "Yes" << endl;
  else
    cout << "No" << endl;
}
int main() {
  cin >> n;
  for (LL i = 0; i < n; i++) {
    cin >> a[i];
    if (a[i] % 4 == 0)
      b[0]++;
    else if (a[i] % 2 == 0)
      b[1]++;
  }
  b[1] /= 2;
  n -= b[0] * 3;
  n -= b[1] * 2;
  if (n > 0) f = 1;
  yn(!f);
  return 0;
}
