#include<bits/stdc++.h>
using namespace std;
stack <int>st;
int a[10005],r[10005];
int main()
{
int n;
int x;
while(scanf("%d",&n),n)
{
while(scanf("%d",&x)!=-1&&x>0)
{
int flag=1;
a[0]=x;
for(int i=1;i<=n-1;i++)
{
scanf("%d",&a[i]);
}
for(int i=1;i<=n;i++)
{
r[i-1]=i;
}
int j=0;
for(int i=0;i<n;i++)
{
if(!st.empty()&&a[i]==st.top())
{
st.pop();
continue;
}
else
{
while(a[i]>r[j])
{
st.push(r[j]);
j++;
}
if(a[i]==r[j])
{
j++;
continue;
}
else
{
flag=0;
}
}
}
if(flag)
{
printf("YES\n");
}
else
{
printf("NO\n");
}
}
}
return 0;
}
https://www.luogu.com.cn/record/33536367