#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ull = unsigned long long;
using uint = unsigned int;
using vll = vector<ll>;
using vl = vll;
using vul = vector<ull>;
using vi = vector<int>;
using vu = vector<uint>;
using sll = set<ll>;
using sul = set<ull>;
using si = set<int>;
using su = set<uint>;
using vvl = vector<vll>;
using vvi = vector<vi>;
using vb = vector<bool>;
using vs = vector<string>;
using vvs = vector<vs>;
using pll = pair<ll, ll>;
using vpll = vector<pll>;
using pii = pair<int, int>;
using vii = vector<pii>;
using msi = unordered_map<string, int>;
const ll oo = 0x3f3f3f3f3f3f3f3fLL;
const double eps = 1e-9;
int main() {
  ios_base::sync_with_stdio(false);
  int n, k;
  cin >> n >> k;
  vi groups(k);
  for (int i = (0); i < (k); i++) {
    cin >> groups[i];
  }
  int twos = n * 2;
  int fours = n;
  for (int& groupi : groups) {
    int mov = min(groupi / 4, fours);
    groupi -= mov * 4;
    fours -= mov;
    if (groupi % 2 == 1 && fours > 0) {
      groupi--;
      fours--;
      twos++;
    }
  }
  int ones = 0;
  for (int& groupi : groups) {
    int mov = min(groupi / 2, twos);
    groupi -= mov * 2;
    twos -= mov;
    while (groupi >= 2 && fours > 0) {
      groupi -= 2;
      fours--;
      ones++;
    }
  }
  for (int& groupi : groups) {
    if (groupi >= 4) {
      cout << "no\n";
      exit(0);
    } else if (groupi == 3) {
      if (fours > 0) {
        fours--;
        groupi = 0;
        continue;
      }
      if (twos > 0) {
        if (ones > 0) {
          twos--;
          ones--;
          groupi = 0;
          continue;
        }
        if (twos >= 2) {
          twos -= 2;
          groupi = 0;
          continue;
        }
      }
      if (ones >= 3) {
        ones -= 3;
        groupi = 0;
        continue;
      }
      cout << "no\n";
      exit(0);
    } else if (groupi == 2) {
      if (twos > 0) {
        twos--;
        groupi = 0;
        continue;
      }
      if (fours > 0) {
        fours--;
        ones++;
        groupi = 0;
        continue;
      }
      if (ones >= 2) {
        ones -= 2;
        groupi = 0;
        continue;
      }
      cout << "no\n";
      exit(0);
    } else if (groupi == 1) {
      if (ones > 0) {
        ones--;
        groupi = 0;
        continue;
      }
      if (fours > 0) {
        fours--;
        twos++;
        groupi = 0;
        continue;
      }
      if (twos > 0) {
        twos--;
        groupi = 0;
        continue;
      }
      cout << "no\n";
      exit(0);
    }
  }
  cout << "yes\n";
}
