Submit solution


Очки: 130
Ограничение по времени: 2.0s
Ограничение по памяти: 256M

Автор:
Problem types
Allowed languages
C++, Python

Криптограф анализирует длинный список чисел, полученных в ходе обработки различных цифровых ключей. Чтобы понять, существует ли у всех этих значений общий числовой шаг, ему нужно найти их наибольший общий делитель.

Дан массив из n целых неотрицательных чисел a_1, a_2, ..., a_n. Требуется найти gcd(a_1, a_2, ..., a_n) — наибольшее целое неотрицательное число, на которое делится каждый элемент массива. По соглашению gcd(0, 0, ..., 0) = 0.

Известно, что операция gcd ассоциативна: gcd(a, b, c) = gcd(gcd(a, b), c). Поэтому криптограф может последовательно объединять числа массива, поддерживая текущий общий делитель.

Входные данные

Первая строка содержит целое число n — количество чисел в списке.

Вторая строка содержит n целых чисел a_i, разделённых пробелами.

Выходные данные

Выведите одно целое неотрицательное число — наибольший общий делитель всех элементов массива.

Ограничения

  • 1 <= n <= 2 * 10^5
  • 0 <= a_i <= 10^18

Примеры

Пример 1

Входные данные

1
1000000000000000000

Выходные данные

1000000000000000000
Пример 2

Входные данные

5
0 6 12 18 24

Выходные данные

6

Комментарии

Еще нет ни одного комментария.