#include<bits/stdc++.h>
using namespace std;
int main()
{
while(1)
{
int n,i,k=1;
cin>>n;
if(n==0)
{
break;
}
stack <int> st;
int p[1000];
for(i=0;i<n;i++)
{
cin>>p[i];
}
i=0;
while(i<n)
{
if(p[i]==k)
{
k++;
}
else if(st.top() == k)
{
k++;
st.pop();
}
else
{
st.push(p[i]);
}
i++;
}
while(!st.empty() && st.top()==k)
{
k++;
st.pop();
}
if((k==(n+1)) && (st.empty()))
{
cout<<"Yes"<<endl;
}
else
{
cout<<"No"<<endl;
}
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgCnsKICAgIHdoaWxlKDEpCiAgICB7CiAgICAgICAgaW50IG4saSxrPTE7CiAgICAgICAgY2luPj5uOwogICAgICAgIGlmKG49PTApCiAgICAgICAgewogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgc3RhY2sgPGludD4gc3Q7CiAgICAgICAgaW50IHBbMTAwMF07CiAgICAgICAgZm9yKGk9MDtpPG47aSsrKQogICAgICAgIHsKICAgICAgICAgICAgY2luPj5wW2ldOwogICAgICAgIH0KICAgICAgICBpPTA7CiAgICAgICAgd2hpbGUoaTxuKQogICAgICAgIHsKICAgICAgICAgICAgaWYocFtpXT09aykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaysrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgaWYoc3QudG9wKCkgPT0gaykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaysrOwogICAgICAgICAgICAgICAgc3QucG9wKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBzdC5wdXNoKHBbaV0pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGkrKzsKICAgICAgICB9CiAgICAgICAgd2hpbGUoIXN0LmVtcHR5KCkgJiYgc3QudG9wKCk9PWspCiAgICAgICAgewogICAgICAgICAgICBrKys7CiAgICAgICAgICAgIHN0LnBvcCgpOwogICAgICAgIH0KICAgICAgICBpZigoaz09KG4rMSkpICYmIChzdC5lbXB0eSgpKSkKICAgICAgICB7CiAgICAgICAgICAgIGNvdXQ8PCJZZXMiPDxlbmRsOwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICBjb3V0PDwiTm8iPDxlbmRsOwogICAgICAgIH0KICAgIH0KCXJldHVybiAwOwp9