eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Атомы: туда и обратно

Атомы: туда и обратно

Юра и Рома, вдоволь наигравшись в игру "Атомы", придумали ещё одну игру: начальная позиция представляет собой ровно одну кучку атомов, за один ход можно выбрать число \textbf{X} и разделить каждую кучку атомов на две непустые кучки так, чтобы хотя бы в одной из них было ровно \textbf{X} атомов. Если числа \textbf{X}, с которым можно это сделать, не существует, то игра заканчивается. Проигрывает тот, кто...~это не особо важно, так как сейчас Рома зачем-то разбросал атомы по \textbf{N} кучкам и задумался: а может ли такая позиция получиться в новой игре? \InputFile В первой строке записано одно целое число \textbf{N} - количество кучек (\textbf{1} ≤ \textbf{N} ≤ \textbf{10^5}). Во второй строке записаны \textbf{N }разделённых пробелами целых чисел \textbf{A_i} - количество атомов в \textbf{i}-й кучке (\textbf{1} ≤ \textbf{A_i} ≤ \textbf{10^18}). \OutputFile В единственной строке выведите \textbf{YES}, если текущее состояние может быть получено из одной кучки, иначе выведите \textbf{NO}.
Лимит времени 2 секунды
Лимит использования памяти 64 MiB
Входные данные #1
4
1 2 6 1
Выходные данные #1
YES

Объяснение: В первом тестовом примере можно начать с кучки из 10 атомов и разделить её на 3 и 7. Затем кучки разделятся как 1, 2, 1, 6.

Источник Yandex.Algorithm, Qualification, July 8-9, 2013