#include <bits/stdc++.h>
using namespace std;
const int dx[4] = {1, 0, -1, 0};
const int dy[4] = {0, 1, 0, -1};
const int INTMAX = 2147483647;
const int64_t LLMAX = 9223372036854775807;
template <class T>
bool chmax(T& a, const T& b) {
  if (a < b) {
    a = b;
    return 1;
  }
  return 0;
}
template <class T>
bool chmin(T& a, const T& b) {
  if (b < a) {
    a = b;
    return 1;
  }
  return 0;
}
void SWAP(int64_t& a, int64_t& b) {
  a ^= b;
  b ^= a;
  a ^= b;
}
void SWAP(int& a, int& b) {
  a ^= b;
  b ^= a;
  a ^= b;
}
class C {
  int n;
  int n4{0}, n2{0}, no{0};

 public:
  C() {
    cin >> n;
    for (int i{0}; i < (int)(n); i++) {
      int tmp;
      cin >> tmp;
      if (tmp & 1)
        no++;
      else if (!(tmp & 0b11))
        n4++;
      else
        n2++;
    }
    cout << no << " " << n2 << " " << n4 << endl;
  }
  void solve() {
    if (no) {
      if (no <= n4) {
        cout << "Yes" << endl;
        return;
      } else if (no > n4) {
        cout << "No" << endl;
        return;
      } else if (n2) {
        cout << "No" << endl;
        return;
      }
    } else {
      if (n2 == 1 && !n4) {
        cout << "No" << endl;
        return;
      }
    }
    cout << "Yes" << endl;
  }
};
int main() {
  C solution;
  solution.solve();
  return 0;
}
