Беси и Эльза играют в игру с n кучками камушков, где i-ая (1 ≤ i ≤ n) кучка содержит a[i]
камешков (1 ≤ a[i]
≤ 10^6
). Они ходят по очереди, первой ходит Беси.
Сначала Беси выбирает некоторое положительное число s[1]
и удаляет s[1]
камешков из некоторой кучки, в которой есть не менее s[1]
камешков
Затем Эльза выбирает некоторое положительное число s[2]
такое, что s[2]
делится на s[1]
и удаляет s[2]
камешков из некоторой кучки, содержащей не менее s[2]
камешков.
Затем Беси выбирает некоторое положительное число s[3]
, которое делится на s[2]
и удаляет s[3]
камешков из некоторой кучки, в которой есть не менее s[3]
камешков
В общем случае s[i]
, количество камешков, которое убирается на ходу i, должно быть делителем s[i+1]
.
Проигрывает первая корова, которая не может сделать ход.
Вычислите количество способов, которыми Беси может удалить камешки на первом ходу для того, чтобы гарантировать себе победу (то есть существет стратегия, используя которую Беси победит вне зависимости от ходов Эльзы). Два способа удаления камешков называются различными, если они удаляют различное количество камушков или они удаляют камешки из различных кучек.
Первая строка содержит n (1 ≤ n ≤ 10^5
).
Вторая строка содержит n целых чисел a[1]
,..., a[n]
.
Выведите количество способов, которыми Беси может удалить камушки на первом ходу, чтобы гарантировать себе выигрыш.
Для вычислений используйте 64-ное целое например, "long long" в C/C++.
Беси выиграет 4, 5, 6, 7 камушков из одной кучи и игра закончится сразу.
Беси выиграет, если удалит 2 или 3 камушка из любой кучи. Затем игроки будут по очереди брать одно и то же количество камушков, но Беси сделает последний ход.