База даних з високим навантаженням#9525

База даних з високим навантаженням

1 секунда
128 мегабайтів
Легка

Генрі описує сценарій міграції бази даних з високим навантаженням. Скрипт являє собою список з транзакцій. -та транзакція складається з a_i запитів. Генрі хоче розділити скрипт на мінімально можливу кількість пакетів, де кожен пакет містить або одну транзакцію, або послідовність послідовних транзакцій, а загальна кількість запитів у кожному пакеті не перевищує .

На жаль, Генрі не знає точного значення для продуктивної бази даних, тому він збирається оцінити мінімальну кількість пакетів для можливих значень : t_1, t_2, \ldots, t_q. Допоможіть Генрі обчислити кількість транзакцій для кожного з них.

Вхідні дані

Перший рядок містить кількість транзакцій (1 \le n \le 200\,000) у міграційному скрипті.

Другий рядок містить цілих чисел a_1, a_2, \ldots, a_n — кількість запитів у кожній транзакції (1 \le a_i; \sum a_i \le 10^6).

Третій рядок містить кількість запитів (1 \le q \le 10^5).

Четвертий рядок містить цілих чисел t_1, t_2, \ldots, t_q (1 \le t_i \le \sum a_i).

Вихідні дані

Виведіть рядків. У -му рядку виведіть мінімальну кількість пакетів, кожен з яких містить не більше t_i запитів. Якщо неможливо розбити скрипт на пакети для деякого t_i, виведіть "Impossible".

Пам'ятайте, що ви не можете змінювати порядок транзакцій, вам дозволено лише групувати послідовні транзакції в пакет.

Приклади

Приклад 1

Loading
Loading