#include <iostream>
#include <string>
#include <vector>

template <class Cnv>
auto ToFixedArray(const char* p, const Cnv& cnv, int n) {
	using V = decltype(cnv(p));
	std::vector<V> ret(n);
	auto* dst = ret.data();
	while(n>0) {
		*dst++ = cnv(p);
		if(--n == 0)
			break;
		for(;;) {
			const char c = *p++;
			if(c == '\0')
				return ret;
			if(c == ' ')
				break;
		}
	}
	return ret;
}
using IV = std::vector<int>;
IV ToFixedIntArray(std::istream& is, int n) {
	IV ret(n);
	auto* dst = ret.data();
	while(n > 0) {
		--n;
		is >> *dst++;
	}
	return ret;
}

void DisableIOSync() {
	std::cin.tie(0);
	std::cout.tie(0);
	std::ios::sync_with_stdio(false);
}
int main() {
	DisableIOSync();

	int N = ToFixedIntArray(std::cin, 1)[0];
	const auto input = ToFixedIntArray(std::cin, N);
	int count_4 = 0,
		count_2 = 0;
	for(auto& i : input) {
		int flag = i & 0x03;
		if(flag == 0)
			++count_4;
		else if(flag == 2)
			++count_2;
	}
	int remain = N-count_4;
	remain -= count_2 /2;
	N -= count_2/2;
	if((N+1)/2 >= remain)
		std::cout << "Yes";
	else
		std::cout << "No";
	std::cout << std::endl;

	return 0;
}