Виртуальное соревнование – это способ прорешать прошедшее соревнование в режиме, максимально близком к участию во время его проведения. Поддерживается только ICPC режим для виртуальных соревнований.
Если вы раньше видели эти задачи,
виртуальное соревнование не для вас – решайте эти задачи в архиве.
Если вы хотите просто дорешать задачи, виртуальное соревнование не для вас – решайте эти задачи в архиве.
Запрещается использовать чужой код, читать разборы задач и общаться по содержанию соревнования с кем-либо.
Вам даны две последовательности целых чисел $$$a_1, \ldots, a_n$$$ и $$$b_1, \ldots, b_m$$$. Для каждого $$$j = 1, \ldots, m$$$ найдите наибольший общий делитель чисел $$$a_1 + b_j, \ldots, a_n + b_j$$$.
Входные данные
В первой строке записано два целых числа $$$n$$$ и $$$m$$$ ($$$1 \leq n, m \leq 2 \cdot 10^5$$$).
Во второй строке записано $$$n$$$ целых чисел $$$a_1, \ldots, a_n$$$ ($$$1 \leq a_i \leq 10^{18})$$$.
В третьей строке записано $$$m$$$ целых чисел $$$b_1, \ldots, b_m$$$ ($$$1 \leq b_j \leq 10^{18})$$$.
Выходные данные
Выведите $$$m$$$ целых чисел. $$$j$$$-е из этих чисел должно быть равно НОД$$$(a_1 + b_j, \ldots, a_n + b_j)$$$.