#include <bits/stdc++.h>
using namespace std;
long long int a = 0, b = 0, c = 0, d = 0, x = 0, y = 0, z = 0, n = 0, m = 0,
              maxy = 0, mini = 9999, counter = 0, s = 0, endp = 0, checker = 0;
long long int one = 0, two = 0, four = 0;
std::vector<char> vec{}, vecsec{}, vecth{};
long long int iremono[100001];
long long int iremono2[100001], check[100001];
std::vector<long long int> kinds{}, ans{}, kaku{};
char moji, moji2;
bool okada = false, okada2 = false;
std::string output, output2, input;
char rev[100001];
unsigned long long int kakunou2[101][101] = {};
unsigned long long int M, A, R, C, H;
int ctoi(const char c) {
  if ('0' <= c && c <= '9') return (c - '0');
  return -1;
}
unsigned long long int LCM(unsigned long long int a, unsigned long long int b) {
  unsigned long long int i, j;
  i = a;
  j = b;
  while (true) {
    c = i % j;
    i = j;
    if (c != 0) {
      j = c;
    } else {
      break;
    }
  }
  return j * (a / j) * (b / j);
}
int kaizyo(int k) {
  int sum = 1;
  for (int i = 1; i <= k; ++i) {
    sum *= i;
  }
  return sum;
}
int main() {
  cin >> a;
  for (long long i = 0; i < a; i++) {
    cin >> b;
    if (b % 4 == 0) {
      four++;
    } else if (b % 2 == 0) {
      two++;
    } else {
      one++;
    }
  }
  okada = false;
  if (four > one - 1) {
    okada = true;
  }
  if (four == one - 1 && two > 0) {
    okada = false;
  }
  if (okada) {
    cout << "Yes" << endl;
  } else {
    cout << "No" << endl;
  }
}
