#include <algorithm>
#include <complex>
#include <deque>
#include <functional>
#include <iomanip>
#include <iostream>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <utility>
#include <vector>

#include <cassert>
#include <climits>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>

using namespace std;

void put_yes() {
  puts("Yes");
}
void put_no() {
  puts("No");
}

int main(int argc, char *argv[])
{
  cin.tie(0);
  ios::sync_with_stdio(false);

  int N;
  cin >> N; cin.ignore();
  // cout << N << endl;

  string str;
  getline(cin, str);
  stringstream ss(str);
  vector<int> a_vec;
  for (int i; !ss.eof();){
    ss >> i;
    a_vec.push_back(i);
  }

  // cout << "a_vec" << endl;
  for (auto i: a_vec) {
    // cout << i << endl;
  }

  // いずれかのグループへ分かれる
  int divisible_by_four                             = 0;
  int divisible_by_two_excluding_divisiable_by_four = 0;
  int divisible_only_by_one                         = 0;
  for (auto i: a_vec) {
    if (i%4 == 0) {
      divisible_by_four++;
    } else if (i%2 == 0) {
      divisible_by_two_excluding_divisiable_by_four++;
    } else {
      divisible_only_by_one++;
    }
  }
  if (divisiable_by_four == 0
      && divisible_by_two_excluding_divisiable_by_four % 2 == 0) {
    put_yes();
    return 0;
  }

  /*
  cout << "a_vec_grpup" << endl;
  cout << "divisiable_by_four : " << divisible_by_four << endl;
  cout << "divisiable_by_two  : " << divisible_by_two_excluding_divisiable_by_four << endl;
  cout << "divisiable_by_one  : " << divisible_only_by_one << endl;
  */


  return 0;
}