Монеты и запросы
У Иры есть n монет, номинал i-й монеты равен a[i]
. Гарантируется, что все номиналы являются натуральными степенями числа 2, то есть a[i]
=2^d
, где 0 ≤ d.
Ира хочет получить ответы на q запросов. j-й запрос задается целым числом b[j]
. Ответом на запрос будет минимальное количество монет, необходимое для составления суммы b[j]
, используя только имеющиеся у Иры монеты. Если Ира не может составить сумму b[j]
, то ответ на j-й запрос будет -1.
Решение каждого запроса не влияет на количество монет у Иры.
Входные данные
Первая строка содержит два целых числа n и q (1 ≤ n, q ≤ 2·10^5
) – количество монет и количество запросов.
Вторая строка содержит n целых чисел a[1]
, a[2]
, ..., a[n]
(1 ≤ a[i]
≤ 2·10^9
) – номиналы монет.
Следующие q строк содержат по одному числу b[j]
(1 ≤ b[j]
≤ 10^9
) – соответствующий запрос.
Выходные данные
Выведите q целых чисел ans[j]
, где j-е число является ответом на j-й запрос.