#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,a;cin>>n;
deque<int> s1;
deque<int> s2;
for(int i=0;i<n;i++)s1.push_back(i+1);
for(int i=0;i<n;i++){
cin>>a;
s2.push_back(a);
}
/*for(int i=0;i<s1.size();i++)cout<<s1[i]<<' ';//input
cout<<"\n";
for(int i=0;i<s2.size();i++)cout<<s2[i]<<' ';//output
cout<<"\n";*/
bool ch=0;
for(int i=0;i<n;i++){
if(s2.front()>=s1[i])
{
s1.erase(remove(s1.begin(),s1.end(),s2[i]));
/*for(int i=0;i<s1.size();i++)cout<<s1[i]<<' ';//input
cout<<"\n";*/
}
else{ch=1; break;}
}
if(ch==0)cout<<"YES\n";
else cout<<"NO\n";
return 0;}
I2RlZmluZSBfQ1JUX1NFQ1VSRV9OT19XQVJOSU5HUwojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNpbmNsdWRlPGFsZ29yaXRobT4KI2luY2x1ZGU8ZGVxdWU+CiNpbmNsdWRlPHN0YWNrPgojaW5jbHVkZTxxdWV1ZT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG1haW4oKXsKICBzdGQ6Omlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgY2luLnRpZShOVUxMKTsKICBjb3V0LnRpZShOVUxMKTsKICBpbnQgbixhO2Npbj4+bjsKICBkZXF1ZTxpbnQ+IHMxOwogIGRlcXVlPGludD4gczI7CiAgZm9yKGludCBpPTA7aTxuO2krKylzMS5wdXNoX2JhY2soaSsxKTsKICBmb3IoaW50IGk9MDtpPG47aSsrKXsKICAgIGNpbj4+YTsKICAgIHMyLnB1c2hfYmFjayhhKTsKICB9CiAgLypmb3IoaW50IGk9MDtpPHMxLnNpemUoKTtpKyspY291dDw8czFbaV08PCcgJzsvL2lucHV0CiAgY291dDw8IlxuIjsKICBmb3IoaW50IGk9MDtpPHMyLnNpemUoKTtpKyspY291dDw8czJbaV08PCcgJzsvL291dHB1dAogIGNvdXQ8PCJcbiI7Ki8KICBib29sIGNoPTA7CiAgZm9yKGludCBpPTA7aTxuO2krKyl7CiAgICBpZihzMi5mcm9udCgpPj1zMVtpXSkKICAgIHsKICAgICAgICBzMS5lcmFzZShyZW1vdmUoczEuYmVnaW4oKSxzMS5lbmQoKSxzMltpXSkpOwogICAgICAgIC8qZm9yKGludCBpPTA7aTxzMS5zaXplKCk7aSsrKWNvdXQ8PHMxW2ldPDwnICc7Ly9pbnB1dAogICAgICAgIGNvdXQ8PCJcbiI7Ki8KICAgIH0KICAgIGVsc2V7Y2g9MTsgYnJlYWs7fQogIH0KICBpZihjaD09MCljb3V0PDwiWUVTXG4iOwogIGVsc2UgY291dDw8Ik5PXG4iOwogcmV0dXJuIDA7fQo=