We have a sequence of length N, a = (a_1, a_2, ..., a_N). Each a_i is a positive integer.

Snuke's objective is to permute the element in a so that the following condition is satisfied:

* For each 1 ≤ i ≤ N - 1, the product of a_i and a_{i + 1} is a multiple of 4.



Determine whether Snuke can achieve his objective.

Constraints

* 2 ≤ N ≤ 10^5
* a_i is an integer.
* 1 ≤ a_i ≤ 10^9

Input

Input is given from Standard Input in the following format:


N
a_1 a_2 ... a_N


Output

If Snuke can achieve his objective, print `Yes`; otherwise, print `No`.

Examples

Input

3
1 10 100


Output

Yes


Input

4
1 2 3 4


Output

No


Input

3
1 4 1


Output

Yes


Input

2
1 1


Output

No


Input

6
2 7 1 8 2 8


Output

Yes
#include <bits/stdc++.h>
using namespace std;
int kaijo(int n) {
  int ans = 1;
  if (n != 0) {
    for (int i = 0; i < n; i++) {
      ans *= (n - i);
    }
  } else {
    ans = 1;
  }
  return ans;
}
int main() {
  int a[100000];
  int b;
  int cnt2 = 0;
  int cnt4 = 0;
  int n;
  cin >> n;
  for (int i1 = 0; i1 < n; i1++) {
    cin >> a[i1];
    b = a[i1] / 2;
    if (b * 2 == a[i1]) {
      cnt2 += 1;
    }
  }
  if (cnt2 == n) {
    cout << "YES" << endl;
  } else {
    for (int i2 = 0; i2 < n; i2++) {
      b = a[i2] / 4;
      if (b * 4 == a[i2]) {
        cnt4 += 1;
      }
    }
    if (cnt4 >= n / 2 || cnt4 + cnt2 / 2 >= n / 2) {
      cout << "Yes" << endl;
    } else {
      cout << "No" << endl;
    }
  }
  return 0;
}
