C. Рыцари круглого стола
ограничение по времени на тест
0.5 second
ограничение по памяти на тест
256 megabytes
ввод
stdin
вывод
stdout

За круглым столом сидят n рыцарей на одинаковом расстоянии друг от друга. Каждый из них пребывает либо в хорошем настроении, либо в плохом.

Волшебник Мерлин предсказал королю Артуру, что грядущий месяц окажется особенно удачливым, если найдется такой правильный многоугольник, что во всех его вершинах находятся рыцари в хорошем настроении. Иначе грядущий месяц сулит неудачи.

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

На рисунке ниже приведены примеры таких многоугольников. Зеленые точки означают рыцарей в хорошем настроении, а красные - в плохом.

Королю Артуру известны настроения всех рыцарей. Помогите ему узнать — будет следующий месяц удачливым или нет.

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

В первой строке находится число n — количество рыцарей за круглым столом (3 ≤ n ≤ 105). Во второй строке через пробел перечислены настроения всех n рыцарей в порядке обхода стола. «1» означает, что рыцарь пребывает в хорошем настроении, «0» — что в плохом.

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

Выведите «YES» без кавычек, если следующий месяц окажется удачливым. Иначе выведите «NO».

Примеры
Входные данные
3
1 1 1
Выходные данные
YES
Входные данные
6
1 0 1 1 1 0
Выходные данные
YES
Входные данные
6
1 0 0 1 0 1
Выходные данные
NO