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

Задача . B. Дело о поддельных шестеренках


Андроид Андреид — известный на всю галактику детектив. Сейчас он расследует дело о мошенниках, подделывающих знаменитые шестеренки Стоппа, такую же популярную сейчас головоломку, какой был когда-то кубик Рубика.

Самыми важными ее компонентами являются кнопка и ряд из n одинаковых шестеренок. Каждая шестерёнка имеет n зубцов, на которых написаны в порядке против часовой стрелки все числа от 0 до n - 1. При нажатии кнопки первая шестеренка поворачивается по часовой стрелке, за ней поворачивается вторая шестерёнка против часовой стрелки, за ней третья по часовой стрелке и так далее.

Также у каждой шестеренки есть ровно один активный зубец. При повороте шестерёнки новым активным зубцом становится следующий за текущим активным в соответствии с направлением поворота. Например, если n = 5, а активным зубчиком является тот, на котором написано число 0, то при повороте по часовой стрелке активным станет зубчик с числом 1, а при повороте против часовой — зубчик с числом 4.

Андреид помнит, что настоящая головоломка обладает следующим свойством: можно так нажать на кнопку несколько раз, что в итоге числа на активных зубчиках шестеренок с первой по последнюю образуют последовательность 0, 1, 2, ..., n - 1. Напишите программу, определяющую, является ли данный экземпляр головоломки настоящим или поддельным.

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

В первой строке задано целое число n (1 ≤ n ≤ 1000) — количество шестерёнок.

Во второй строке заданы n чисел a1, a2, ..., an (0 ≤ ai ≤ n - 1) — последовательность активных зубчиков: на активном зубчике i-й шестеренки написано число ai.

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

В единственной строке выведите "Yes" (без кавычек), если данный экземпляр шестеренок Стоппа настоящий, и "No" (без кавычек) в ином случае.

Примечание

В первом тесте из условия при первом нажатии кнопки последовательность активных зубчиков станет 2 2 1, а при втором — 0 1 2.


Примеры
Входные данныеВыходные данные
1 3
1 0 0
Yes
2 5
4 2 1 4 3
Yes
3 4
0 2 3 1
No

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

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