#include <bits/stdc++.h>
using namespace std;
template <class T>
T to_T(const string &s) {
  istringstream is(s);
  T res;
  is >> res;
  return res;
}
template <class T>
string to_s(const T &a) {
  ostringstream os;
  os << a;
  return os.str();
}
void solve(long long N, vector<long long> a) {
  vector<long long> f, n;
  int two = 0;
  for (int i = (0); i < (N); ++i) {
    if (a[i] == 2) {
      two++;
      continue;
    }
    if (a[i] % 4 == 0)
      f.push_back(a[i]);
    else
      n.push_back(a[i]);
  }
  while (two) {
    if (two >= 2) {
      f.push_back(4);
      two -= 2;
      N--;
      continue;
    }
    n.push_back(2);
    two--;
  }
  bool flag = false;
  (cerr << "n.size()"
        << ": " << n.size() << endl);
  (cerr << "f.size()"
        << ": " << f.size() << endl);
  if (N % 2 == 0) {
    if (n.size() <= f.size()) flag = true;
  } else {
    int z = n.size();
    int a = f.size();
    if (z - a <= 1) flag = true;
  }
  if (flag) {
    cout << "Yes" << endl;
  } else {
    cout << "No" << endl;
  }
}
int main() {
  ios::sync_with_stdio(false);
  long long N;
  cin >> N;
  vector<long long> a(N - 1 + 1);
  for (int i = 0; i <= N - 1; i++) {
    cin >> a[i];
  }
  solve(N, a);
  return 0;
}
