Вы играете в вариацию игры 2048. Изначально у вас есть набор \(s\), состоящий из \(n\) чисел. Все числа из этого набора являются степенью двойки.
Вы можете совершать любое количество (возможно, нулевое) операций с этим набором чисел.
Во время каждой операции вы выбираете два равных числа из \(s\), удаляете их из набора \(s\) и добавляете в \(s\) число, равное их сумме.
Например, если \(s = \{1, 2, 1, 1, 4, 2, 2\}\), и вы выберете числа \(2\) и \(2\), то набор превратится в \(\{1, 1, 1, 4, 4, 2\}\).
Вы выиграете, если число \(2048\) окажется в вашем наборе. Например, если \(s = \{1024, 512, 512, 4\}\) вы можете выиграть следующим образом: выберите \(512\) и \(512\), и ваш набор превратится в \(\{1024, 1024, 4\}\). Затем вы можете выбрать числа \(1024\) и \(1024\), и ваш набор превратится в \(\{2048, 4\}\).
Определите, можете ли вы выиграть в этой игре.
Вам нужно ответить на \(q\) независимых запросов.
Выходные данные
На каждый запрос выведите YES если вы можете получить число \(2048\) в вашем наборе, и NO в обратном случае.
Вы можете выводить ответ в любом регистре (например, строки yEs, yes, Yes и YES будут распознаны как положительный ответ).
Примечание
В первом запросе вы можете выбрать числа \(512\) и \(512\), и \(s\) превратится в \(\{1024, 64, 1024\}\). А затем вы выбираете числа \(1024\) и \(1024\), после этого набор \(s\) превратится в \(\{2048, 64\}\).
Во втором запросе набор \(s\) содержит число \(2048\) изначально.