Олимпиадный тренинг

Задача . B. Игра рядов


Армия Дейенерис Таргариен состоит из k групп, i-я из групп состоит из ai солдат. Она хочет перевезти свою армию на другой берег моря, чтобы завладеть Железным троном. Для этого она купила самолет. В самолете n рядов по 8 мест. Будем называть места соседними, если они в одном ряду и это места {1, 2}, {3, 4}, {4, 5}, {5, 6}, {7, 8}.

Ряд в самолет

Дейенерис Таргариен хочет расположить свою армию так, чтобы солдаты из разных групп не сидели на соседних местах.

Ваша задача — определить, возможно ли рассадить её армию так, чтобы условие выше выполнялось.

Входные данные

Первоя строка содержит два целых числа n и k (1 ≤ n ≤ 10000, 1 ≤ k ≤ 100) — количество рядов и количество групп солдат, соответственно.

Вторая строка содержит k целых чисел a1, a2, a3, ..., ak (1 ≤ ai ≤ 10000), где ai обозначает количество солдат в i-й группе.

Гарантируется, что a1 + a2 + ... + ak ≤ 8·n.

Выходные данные

Если возможно расположить солдат в самолете, выведите «YES» (без кавычек). В противном случае выведите «NO» (без кавычек).

Вы можете выводить каждую из букв в любом регистре.

Примечание

В первом примере Дейенерис может расположить солдат как показано на картинке.

Во втором примере невозможно рассадить солдат, так как солдат из первой группы всегда будет сидеть на соседнем месте с кем-то из второй группы.

В третьем примере Дейенерис может расположить первую группу на местах (1, 2, 7, 8), а второю группу — на оставшиеся места.

В четвертом примере она может расположить первые две группы на места (1, 2) и (7, 8), третью группу на место (3), а четвертую группу — на места (5, 6).


Примеры
Входные данныеВыходные данные
1 2 2
5 8
YES
2 1 2
7 1
NO
3 1 2
4 4
YES
4 1 4
2 2 1 2
YES

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя