B. Дело о поддельных шестеренках
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

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

Самыми важными ее компонентами являются кнопка и ряд из 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" (без кавычек) в ином случае.

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

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