/* Kristoffer Hansen. arnsfelt@daimi.au.dk */ #include #include const int MAXN = 1000; int n; int C[MAXN]; stack S; int main() { int i,j; while (cin >> n && n>0) { while (cin >> C[0] && C[0]>0) { for (i=1; i> C[i]; S = stack(); for (i=0, j=1; j<=n; j++) { S.push(j); while (!S.empty() && S.top()==C[i]) { S.pop(); i++; } } cout << (i==n ? "Yes\n" : "No\n"); } cout << endl; } return 0; }