/**
* author: orzvanh14 ( Độc cô cầu đặc )
* created: 18.04.2026 03:56:02
* too lazy to update time
**/
// i wants to take ioi
//binhtinhtutinkhongcaycunhungmotkhikhongcontutinnualatuyetvong
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define nn "\n"
#define pi pair<int, int>
#define ti tuple<int, int, int>
#define fi first
#define se second
#define lb lower_bound
#define ub upper_bound
#define eb emplace_back
#define pb push_back
#define TASK " "
#define ms(a, x) memset(a, x, sizeof(a))
#define all(a) a.begin(), a.end()
#define All(a, n) a + 1, a + 1 + n
#define LOG 19
const int INF = 1e18;
const int N = 1e5 + 5;
const int maxn = 100 + 5;
const int mod = 1e9 + 7;
struct node{
int kc, u;
bool operator<(const node& other) const {
return kc > other.kc;
}
};
int n;
void nhap(){
}
void solve(){
while(cin >> n){
if(n == 0) return;
vector<int> a(n + 5);
for(int i = 1; i <= n; i++){
cin >> a[i];
}
stack<int> st;
int cur = 1;
bool ok = 1;
for(int i = 1; i <= n; i++){
if(a[i] != cur){
st.push(a[i]);
}
else{
cur++;
}
}
while(!st.empty()){
int x = st.top();
st.pop();
if(x == cur){
cur++;
}
else{
ok = 0;
}
}
if(!ok){
cout << "no" << nn;
}
else cout << "yes" << nn;
}
}
signed main(){
// freopen("wormsort.in", "r", stdin);
// freopen("wormsort.out", "w", stdout);
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
nhap();
solve();
return 0;
}
LyoqCiAqICAgIGF1dGhvcjogIG9yenZhbmgxNCAoIMSQ4buZYyBjw7QgY+G6p3UgxJHhurdjICkKICogICAgY3JlYXRlZDogMTguMDQuMjAyNiAwMzo1NjowMgogKiAgICB0b28gbGF6eSB0byB1cGRhdGUgdGltZQoqKi8KLy8gaSB3YW50cyB0byB0YWtlIGlvaQovL2Jpbmh0aW5odHV0aW5raG9uZ2NheWN1bmh1bmdtb3RraGlraG9uZ2NvbnR1dGlubnVhbGF0dXlldHZvbmcKI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKI2RlZmluZSBpbnQgbG9uZyBsb25nCiNkZWZpbmUgbm4gIlxuIgojZGVmaW5lIHBpIHBhaXI8aW50LCBpbnQ+CiNkZWZpbmUgdGkgdHVwbGU8aW50LCBpbnQsIGludD4KI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIGxiIGxvd2VyX2JvdW5kCiNkZWZpbmUgdWIgdXBwZXJfYm91bmQKI2RlZmluZSBlYiBlbXBsYWNlX2JhY2sKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBUQVNLICIgIgoKI2RlZmluZSBtcyhhLCB4KSBtZW1zZXQoYSwgeCwgc2l6ZW9mKGEpKQojZGVmaW5lIGFsbChhKSBhLmJlZ2luKCksIGEuZW5kKCkKI2RlZmluZSBBbGwoYSwgbikgYSArIDEsIGEgKyAxICsgbgoKI2RlZmluZSBMT0cgMTkKCmNvbnN0IGludCBJTkYgPSAxZTE4Owpjb25zdCBpbnQgTiA9IDFlNSArIDU7CmNvbnN0IGludCBtYXhuID0gMTAwICsgNTsKY29uc3QgaW50IG1vZCA9IDFlOSArIDc7CgoKc3RydWN0IG5vZGV7CglpbnQga2MsIHU7Cglib29sIG9wZXJhdG9yPChjb25zdCBub2RlJiBvdGhlcikgY29uc3QgewogICAgICAgIHJldHVybiBrYyA+IG90aGVyLmtjOwogICAgfQp9OwppbnQgbjsKdm9pZCBuaGFwKCl7Cgp9CnZvaWQgc29sdmUoKXsKICAgIHdoaWxlKGNpbiA+PiBuKXsKICAgICAgICBpZihuID09IDApIHJldHVybjsKICAgICAgICB2ZWN0b3I8aW50PiBhKG4gKyA1KTsKICAgICAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG47IGkrKyl7CiAgICAgICAgICAgIGNpbiA+PiBhW2ldOwogICAgICAgIH0KICAgICAgICBzdGFjazxpbnQ+IHN0OwogICAgICAgIGludCBjdXIgPSAxOwogICAgICAgIGJvb2wgb2sgPSAxOwogICAgICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKXsKICAgICAgICAgICAgaWYoYVtpXSAhPSBjdXIpewogICAgICAgICAgICAgICAgc3QucHVzaChhW2ldKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlewogICAgICAgICAgICAgICAgY3VyKys7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgd2hpbGUoIXN0LmVtcHR5KCkpewogICAgICAgICAgICBpbnQgeCA9IHN0LnRvcCgpOwogICAgICAgICAgICBzdC5wb3AoKTsKICAgICAgICAgICAgaWYoeCA9PSBjdXIpewogICAgICAgICAgICAgICAgY3VyKys7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZXsKICAgICAgICAgICAgICAgIG9rID0gMDsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZighb2spewogICAgICAgICAgICBjb3V0IDw8ICJubyIgPDwgbm47CiAgICAgICAgfQogICAgICAgIGVsc2UgY291dCA8PCAieWVzIiA8PCBubjsKICAgIH0KfQpzaWduZWQgbWFpbigpewovLyAgICBmcmVvcGVuKCJ3b3Jtc29ydC5pbiIsICJyIiwgc3RkaW4pOwovLwlmcmVvcGVuKCJ3b3Jtc29ydC5vdXQiLCAidyIsIHN0ZG91dCk7Cglpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKCW5oYXAoKTsKCXNvbHZlKCk7CglyZXR1cm4gMDsKfQo=