G. Круг чисел
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

n расположенных на равном расстоянии точек отмечены на окружности. Около каждой точки написано число. Вы можете выбрать любое вещественное число k. Затем вы можете несколько раз выбирать множество из 2 или более точек, расположенных на равных расстояниях по окружности, и либо увеличивать все числа, написанные около точек множества, на k, либо уменьшать на k. Вы хотите сделать так, чтобы все числа были равны 0. Возможно ли это?

2 точки расположены на окружности на равных расстояниях, если они диаметрально противоположны. 3 и более точки расположены на окружности на равных расстояниях, если они образуют правильный многоугольник.

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

Первая строка содержит целое число n (3 ≤ n ≤ 100000) — количество точек на окружности.

Следующая строка содержит строку s из ровно n цифр, каждая цифра равна числу, написанному около очередной точки, по часовой стрелке.

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

Выведите «YES» (без кавычек), если существует последовательность операций, обращающая все числа в 0, и «NO» (без кавычек) иначе.

Вы можете выводить каждую букву в любом регистре (заглавную или строчную).

Примеры
Входные данные
30
000100000100000110000000001100
Выходные данные
YES
Входные данные
6
314159
Выходные данные
NO
Примечание

Если мы пронумеруем точки от 1 до n, то в первом примере мы можем выбрать k = 1. Затем увеличим числа в точках 7 и 22 на 1, затем уменьшим числа в точках 7, 17, и 27 на 1, затем уменьшим числа в точках 4, 10, 16, 22, и 28 на 1.