아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Монстры

시간 제한2초메모리 제한1024 MB

요약
최대 다섯 개의 몬스터 더미가 있을 때, 요구량이 1, 2, 4, 8, ...인 존재들에게 아무 순서로 먹여 모든 더미를 정확히 비울 수 있는지 판정한다.
난이도

보통10점 중 7점

유형
백트래킹, 비트 연산
정답자
아직 제출이 없습니다

문제

В новой компьютерной игре для прохождения 85-го уровня игроку требуется уничтожить монстров в kk комнатах. В каждой комнате изначально находится a_ia\_i монстров, и единственное, что может делать игрок --- создавать существ по имени Февроний.

Каждое созданное существо по имени Февроний голодно и хочет насытиться, поедая монстров. Однако, с каждым ходом сила игрока растет, и поэтому Февронию первому необходим ровно один монстр, Февронию второму --- два, третьему --- четыре, ii-му --- 2i−12^{i - 1}.

После создания очередного Феврония игрок указывает ему на одну из kk комнат, после чего Февроний идет туда. Если в этой комнате достаточно монстров для его насыщения, то он съедает столько монстров, сколько ему нужно, и умирает со счастливой улыбкой на лице. Если же ему не хватает хотя бы одного монстра, то он съедает всех, после чего выходит из комнаты и съедает игрока. Естественно, что такой вариант развития событий крайне нежелателен.

Помогите игроку выяснить, сможет ли он, создавая Феврониев, уничтожить всех монстров и остаться несъеденным.

입력

В первой строке входного файла дано одно целое число kk (1≤k≤51 \le k \le 5) --- количество комнат. В следующей строке даны kk целых чисел a_ia\_i (1≤a_i<10241 \le a\_i < 1024) --- количества монстров в комнатах.

출력

Выведите в выходной файл <<Yes>>, если игрок пройдет уровень, и <<No>> --- в противном случае.

예제2

  1. 예제 1

    입력
    2
    21 10
    
    예상 출력
    Yes
    
  2. 예제 2

    입력
    3
    22 10 32
    
    예상 출력
    No