#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 = (int*)malloc(n*sizeof(int));
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;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAppbnQgbWFpbigpIAp7CiAgICB3aGlsZSgxKQogICAgewogICAgICAgIGludCBuLGksaz0xOwogICAgICAgIGNpbj4+bjsKICAgICAgICBpZihuPT0wKQogICAgICAgIHsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgfQogICAgICAgIHN0YWNrIDxpbnQ+IHN0OwogICAgICAgIGludCAqcCA9IChpbnQqKW1hbGxvYyhuKnNpemVvZihpbnQpKTsKICAgICAgICBmb3IoaT0wO2k8bjtpKyspCiAgICAgICAgewogICAgICAgICAgICBjaW4+PnBbaV07CiAgICAgICAgfQogICAgICAgIGk9MDsKICAgICAgICB3aGlsZShpPG4pCiAgICAgICAgewogICAgICAgICAgICBpZihwW2ldPT1rKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBrKys7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSBpZihzdC50b3AoKSA9PSBrKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBrKys7CiAgICAgICAgICAgICAgICBzdC5wb3AoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHN0LnB1c2gocFtpXSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaSsrOwogICAgICAgIH0KICAgICAgICB3aGlsZSghc3QuZW1wdHkoKSAmJiBzdC50b3AoKT09aykKICAgICAgICB7CiAgICAgICAgICAgIGsrKzsKICAgICAgICAgICAgc3QucG9wKCk7CiAgICAgICAgfQogICAgICAgIGlmKChrPT0obisxKSkgJiYgKHN0LmVtcHR5KCkpKQogICAgICAgIHsKICAgICAgICAgICAgY291dDw8IlllcyI8PGVuZGw7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIGNvdXQ8PCJObyI8PGVuZGw7CiAgICAgICAgfQogICAgfQoJcmV0dXJuIDA7Cn0=