Олимпиадный тренинг

Задача . C. Общие делители


Вам задан массив \(a\), состоящий из \(n\) целых чисел.

Ваша задача — найти количество таких положительных целых чисел \(x\), что \(x\) делит каждое число в массиве. Другими словами, вам необходимо найти количество общих делителей всех элементов массива.

Например, если массив \(a\) будет равен \([2, 4, 6, 2, 10]\), то \(1\) и \(2\) делят каждое число в массиве (таким образом, ответ на этот тест равен \(2\)).

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

Первая строка входных данных содержит одно целое число \(n\) (\(1 \le n \le 4 \cdot 10^5\)) — количество элементов в \(a\).

Вторая строка входных данных содержит \(n\) целых чисел \(a_1, a_2, \dots, a_n\) (\(1 \le a_i \le 10^{12}\)), где \(a_i\) равно \(i\)-му элементу \(a\).

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

Выведите одно целое число — количество таких положительных целых чисел \(x\), что \(x\) делит каждое число из заданного массива (другими словами, ответ равен количеству общих делителей всех элементов массива).


Примеры
Входные данныеВыходные данные
1 5
1 2 3 4 5
1
2 6
6 90 12 18 30 18
4

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя