#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include<bits/stdc++.h>
#define ll long long
#include<algorithm>
#include<deque>
#include<stack>
#include<queue>
using namespace std;
int main(){
std::ios_base::sync_with_stdio(0);
cin.tie(NULL);
cout.tie(NULL);
int n;cin>>n;
int a[n];
deque<int> q2;
deque<int>q3;
for(int i=1;i<=n;i++){
cin>>a[i];//1 3 5 4 2
q3.push_back(a[i]);
}
int j=0;
for(int i=1;i<=n;i++){
if(a[j]==i+1){j++;q3.pop_front();}
else q2.push_front(i);
}
//for(int i=0;i<q3.size();i++)cout<<q3[i]<<' ';// 4 2
//cout<<"\n";
//for(int i=0;i<q2.size();i++)cout<<q2[i]<<' ';
for(int i=1;i<=q2.size();i++){
if(q2[i]!=q3[i]){cout<<"NO\n";return 0;}
}
cout<<"YES\n";
return 0;}
I2RlZmluZSBfQ1JUX1NFQ1VSRV9OT19XQVJOSU5HUwojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNpbmNsdWRlPGFsZ29yaXRobT4KI2luY2x1ZGU8ZGVxdWU+CiNpbmNsdWRlPHN0YWNrPgojaW5jbHVkZTxxdWV1ZT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG1haW4oKXsKICBzdGQ6Omlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgY2luLnRpZShOVUxMKTsKICBjb3V0LnRpZShOVUxMKTsKICBpbnQgbjtjaW4+Pm47CiAgaW50IGFbbl07CiAgZGVxdWU8aW50PiBxMjsKICBkZXF1ZTxpbnQ+cTM7CiAgZm9yKGludCBpPTE7aTw9bjtpKyspewogICAgY2luPj5hW2ldOy8vMSAzIDUgNCAyCiAgICBxMy5wdXNoX2JhY2soYVtpXSk7CiAgfQogIGludCBqPTA7CiAgZm9yKGludCBpPTE7aTw9bjtpKyspewogICAgaWYoYVtqXT09aSsxKXtqKys7cTMucG9wX2Zyb250KCk7fQogICAgZWxzZSBxMi5wdXNoX2Zyb250KGkpOwogIH0KICAvL2ZvcihpbnQgaT0wO2k8cTMuc2l6ZSgpO2krKyljb3V0PDxxM1tpXTw8JyAnOy8vIDQgMgogIC8vY291dDw8IlxuIjsKICAvL2ZvcihpbnQgaT0wO2k8cTIuc2l6ZSgpO2krKyljb3V0PDxxMltpXTw8JyAnOwogIGZvcihpbnQgaT0xO2k8PXEyLnNpemUoKTtpKyspewogICAgICBpZihxMltpXSE9cTNbaV0pe2NvdXQ8PCJOT1xuIjtyZXR1cm4gMDt9CiAgfQogIGNvdXQ8PCJZRVNcbiI7CiByZXR1cm4gMDt9