#include <iostream>
using namespace std;
struct stack{ //стек
int truck[ 100 ] ;
int length = 0 ;
int pop ( ) { return truck[ -- length] ; }
void push ( int x) { truck[ length++ ] = x; }
int front ( ) { return truck[ length- 1 ] ; }
int size ( ) { return length; }
} car;
int main( ) {
int amount_n;
cin >> amount_n; //Ввод (количество вагонов)
int n;
int count = 1 ;
while ( cin >> n) { //Цикл (для ввода нового вагона)
car.push ( n) ; //заводим в стек новый вагон
if ( n == count) { count++ ; car.pop ( ) ; } //проверяем, если вагон подходит, то выводим его на путь 2
while ( car.size ( ) > 0 ) { //т.к. перед подходящим вагоном может стоять следующий подходящий вагон или несколько вагонов ,то пока стек не пуст будем проверять последние вагоны в стеке
if ( car.front ( ) == count) { count++ ; car.pop ( ) ; } //если вагон подходит выводим на путь 2
else break ;
}
}
if ( car.size ( ) == 0 ) { cout << "YES" << endl; } //если стек пуст, то все вагоны были выведены на путь 2
else cout << "NO" << endl;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwogc3RydWN0IHN0YWNreyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v0YHRgtC10LoKIAlpbnQgdHJ1Y2tbMTAwXTsKIAlpbnQgbGVuZ3RoID0gMDsKIAlpbnQgcG9wICgpe3JldHVybiB0cnVja1stLWxlbmd0aF07fQogCXZvaWQgcHVzaCAoaW50IHgpe3RydWNrW2xlbmd0aCsrXSA9IHg7fQogCWludCBmcm9udCAoKSB7cmV0dXJuIHRydWNrW2xlbmd0aC0xXTt9CiAJaW50IHNpemUgKCkge3JldHVybiBsZW5ndGg7fQogCX1jYXI7IAppbnQgbWFpbigpIHsKCWludCBhbW91bnRfbjsKCWNpbiA+PiBhbW91bnRfbjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL9CS0LLQvtC0ICjQutC+0LvQuNGH0LXRgdGC0LLQviDQstCw0LPQvtC90L7QsikKCWludCBuOwoJaW50IGNvdW50ID0gMTsKCXdoaWxlIChjaW4gPj4gbil7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL9Cm0LjQutC7ICjQtNC70Y8g0LLQstC+0LTQsCDQvdC+0LLQvtCz0L4g0LLQsNCz0L7QvdCwKQoJCWNhci5wdXNoKG4pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v0LfQsNCy0L7QtNC40Lwg0LIg0YHRgtC10Log0L3QvtCy0YvQuSDQstCw0LPQvtC9IAoJCWlmIChuID09IGNvdW50KXtjb3VudCsrOyBjYXIucG9wKCk7fQkJCQkJCQkJCS8v0L/RgNC+0LLQtdGA0Y/QtdC8LCDQtdGB0LvQuCDQstCw0LPQvtC9INC/0L7QtNGF0L7QtNC40YIsINGC0L4g0LLRi9Cy0L7QtNC40Lwg0LXQs9C+INC90LAg0L/Rg9GC0YwgMgoJCXdoaWxlIChjYXIuc2l6ZSgpID4gMCl7IAkJCQkJCQkJCQkJCS8v0YIu0LouINC/0LXRgNC10LQg0L/QvtC00YXQvtC00Y/RidC40Lwg0LLQsNCz0L7QvdC+0Lwg0LzQvtC20LXRgiDRgdGC0L7Rj9GC0Ywg0YHQu9C10LTRg9GO0YnQuNC5INC/0L7QtNGF0L7QtNGP0YnQuNC5INCy0LDQs9C+0L0g0LjQu9C4INC90LXRgdC60L7Qu9GM0LrQviDQstCw0LPQvtC90L7QsiAs0YLQviDQv9C+0LrQsCDRgdGC0LXQuiDQvdC1INC/0YPRgdGCINCx0YPQtNC10Lwg0L/RgNC+0LLQtdGA0Y/RgtGMINC/0L7RgdC70LXQtNC90LjQtSDQstCw0LPQvtC90Ysg0LIg0YHRgtC10LrQtQoJCWlmIChjYXIuZnJvbnQoKSA9PSBjb3VudCl7Y291bnQrKzsgY2FyLnBvcCgpO30JCQkJCQkJLy/QtdGB0LvQuCDQstCw0LPQvtC9INC/0L7QtNGF0L7QtNC40YIg0LLRi9Cy0L7QtNC40Lwg0L3QsCDQv9GD0YLRjCAyCgkJZWxzZSBicmVhazsKCQl9Cgl9CgkKCWlmIChjYXIuc2l6ZSgpID09IDApIHtjb3V0IDw8ICJZRVMiIDw8IGVuZGw7fQkJCQkJCQkJLy/QtdGB0LvQuCDRgdGC0LXQuiDQv9GD0YHRgiwg0YLQviDQstGB0LUg0LLQsNCz0L7QvdGLINCx0YvQu9C4INCy0YvQstC10LTQtdC90Ysg0L3QsCDQv9GD0YLRjCAyCgllbHNlIGNvdXQgPDwgIk5PIiA8PCBlbmRsOwoJCglyZXR1cm4gMDsKfQ==