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

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

Вы придумали следующий алгоритм. Для каждого числа в массиве ai постройте стопку из ai равиоли. На картинке показана стопка для ai = 4.

Расположите стопки в ряд в том же порядке, в котором числа находились в заданном массиве. Найдите самую высокую стопку (если стопок максимальной высоты несколько, выберите самую левую). Удалите ее из ряда и добавьте ее высоту в конец массива-результата. Сдвиньте стопки так, чтобы между ними не было промежутка на месте удаленной стопки. Повторяйте процесс, пока в ряду остается хотя бы одна стопка.

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

Вам дан входной массив. Определите, правильно ли отсортирует его описанный алгоритм.

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

Первая строка входных данных содержит число n (1 ≤ n ≤ 10) — размер массива.

Вторая строка входных данных содержит n целых чисел, разделенных пробелами, ai (1 ≤ ai ≤ 100) — элементы массива.

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

Выведите "YES", если описанный алгоритм отсортирует его правильно, и "NO" в противном случае.

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

Во втором примере массив изменится еще до того, как будет выбрана самая высокая стопка: равиоль из стопки высоты 3 сползет на стопку высоты 1, и результатом работы алгоритма будет массив {2, 2, 2}.