eolymp
bolt
Try our new interface for solving problems
Problems

Упаковка воды

Упаковка воды

Шло время, изина вода становилась всё известнее и популярнее, пока, наконец, Изя не стал основным поставщиком воды в стране. Все крупные корпорации, заведения, просто коллективы считали своим долгом покупать воду только у Изи. И, когда дело достигло таких масштабов, появились новые проблемы. Заказы стали приходить на очень большое количество воды. Такое, что не уместится ни в одну бутылку. Поэтому Изя нанял фургон, на котором воду можно доставлять в любых количествах. Теперь оставался только один вопрос -- как отмерить необходимый объём? К счастью, у Изи оказалось целых \textbf{N} видов бутылок, каждая из которых была рассчитана на определённый объём воды. Теперь оказалось необходимо для каждого заказа наиболее компактно разлить соответствующее количество воды по бутылям. \InputFile В первой строке содержится одно число \textbf{N} (\textbf{2} ≤ \textbf{N} ≤ \textbf{10}) -- количество видов бутылок, которые есть у Изи. Во второй строке через пробел задано \textbf{N} натуральных чисел \textbf{a_i}_\{ \}(\textbf{1} ≤ \textbf{a_i} ≤ \textbf{1000})-- объём, помещающийся в \textbf{i}-ю бутылку. Следует отметить, что разные виды бутылок не обязательно различаются по объёму. Количество бутылок каждого вида неограниченно. В третьей строке содержится одно число \textbf{M} (\textbf{1} ≤ \textbf{M} ≤ \textbf{100000}) -- количество заказов, поступивших Изе. В каждой из \textbf{M} следующих строк содержится одно число \textbf{X_j}_\{ \}(\textbf{1} ≤ \textbf{X_j} ≤ \textbf{10^14}) -- требуемый объём воды для \textbf{j}-го заказа. \OutputFile Для каждого из \textbf{M} заказов в отдельной строке выведите минимальное число бутылок, в которые можно разлить ровно \textbf{X_j} воды. Если же не существует такого набора бутылок, выведите \textbf{-1}.
Time limit 1 second
Memory limit 16 MiB
Input example #1
2
2 3
7
1
2
3
4
5
6
7
Output example #1
-1
1
1
2
2
2
3
Author Александр Винц