#include <bits/stdc++.h>
using namespace std;
int N;
int a[100001];
bool check(int i, map<int, int> m) {
  int b[100001];
  if (m.find(i) == m.end()) return false;
  m[i]--;
  b[0] = i;
  for (int i = 1; i < N; i++) {
    if (b[i - 1] == 0) {
      if (m[2] == 0) return false;
      m[2]--;
      b[i] = 2;
    } else if (b[i - 1] == 1) {
      if (m[1] == 0) {
        if (m[2] == 0) return false;
        m[2]--;
        b[i] = 2;
      } else {
        m[1]--;
        b[i] = 1;
      }
    } else {
      if (m[0] == 0) {
        if (m[1] == 0) {
          if (m[2] == 0) return false;
        } else {
          m[1]--;
          b[i] = 1;
        }
      } else {
        m[0]--;
        b[i] = 0;
      }
    }
  }
  return true;
}
int main() {
  cin >> N;
  for (int i = 0; i < N; i++) {
    cin >> a[i];
  }
  map<int, int> m;
  for (int i = 0; i < N; i++) {
    if (a[i] % 2)
      m[0]++;
    else {
      if (a[i] % 4)
        m[1]++;
      else
        m[2]++;
    }
  }
  if (check(0, m)) {
    printf("Yes\n");
  } else if (check(1, m) || check(2, m)) {
    printf("Yes2\n");
  } else {
    printf("No\n");
  }
  return 0;
}
