I. Веревка
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
64 мегабайта
ввод
стандартный ввод
вывод
стандартный вывод

Есть веревка, концы которой закреплены на плоскости в двух точках A(0,  - 10) и B(0, 10). Эта веревка пересекает прямую y = 0 в n точках (но не касается!). Для каждой точки пересечения известен порядковый номер при движении по веревке от точки A к точке B. Если выписать все пересечения слева направо, то получится перестановка a1, a2, ..., an. Смотрите первый тестовый пример и рисунок для лучшего понимания.

На вход подается некоторая перестановка чисел длины n, и вам необходимо ответить на вопрос, можно ли уложить веревку на плоскости так, что выполняются следующие условия:
  1. Концы веревки закреплены в точках A и B.
  2. Веревка не имеет самопересечений.
  3. Перестановка номеров пересечений совпадает с данной перестановкой.
Входные данные

В первой строке дано число n (1 ≤  n  ≤  105) – размер перестановки. Во второй строке даны n различных чисел ai (1  ≤  ai  ≤  n) – перестановка, описанная в условии.

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

Если возможно уложить веревку требуемым образом выведите «Yes», иначе выведите «No».

Примеры
Входные данные
11
9 10 11 8 1 2 5 6 7 4 3
Выходные данные
Yes
Входные данные
5
1 3 2 4 5
Выходные данные
No