На таинственном острове капитан Флинт оставил карту сокровищ, на которой записаны подсказки в виде последовательности чисел — массив a. У пиратов есть стартовое значение x, которое им нужно преобразовать, следуя всем шагам на карте, чтобы добраться до сокровища.
Для каждого значения x, которое они выбирают, пираты идут по массиву a от начала до конца и выполняют следующие действия для каждого элемента массива:
- Если текущее значение x < 0, они добавляют к x текущий элемент массива.
- Если же x ≥ 0, они вычитают из x текущий элемент массива.
Таким образом, в конце маршрута значение x становится новым числом, указывающим на местоположение клада.
К сожалению, пираты оказались очень слабы в математике (хотя бутылки рома считают отлично), поэтому они попросили у вас помощи в поиске клада. У них есть q чисел, возможные стартовые значения числа x. Вам необходимо для каждого из этих чисел вывести число, которое получается из него после действий, приведенных выше.
Исходные данные
В первой строке вводится 2 целых числа n, q — количество чисел в массиве a и количество возможных начальных значений (1 ≤ n, q, ≤ 106).
Во второй строке через пробел вводятся n целых чисел, задающих массив a. (|ai| ≤ 106).
В следующих q строках вводятся по одному целому числу xi — возможные стартовые значения. (|xi| ≤ 106).
Результат
Выведите q строк. В i-й строке выведите единственное число — число, которое получилось после выполнения всех действий к числу xi.
Примеры
исходные данные | результат |
---|
3 2
3 1 2
4
-3 | -2
1 |
3 4
2 1 4
10
-5
2
6 | 3
2
3
-1 |
Автор задачи: Артём Степанов, Артём Абатуров
Источник задачи: Уральская командная олимпиада по программированию 2024