#include<iostream>#include<fstream>#include<stack>usingnamespace std;#defineTEST1intmain(){int N;
ofstream ofs;if(TEST){
ofs.open("/home/lixiaoqi/Documents/Code/C++/1.txt");if(!ofs.is_open())throwruntime_error("FILE NOT OPEN!");}
ostream &os = TEST ? ofs : cout;while(cin >> N && N){int*B =newint[N +1];while(cin >> B[1]&& B[1]){bool OK =true;
stack<int> s;for(int i =2; i <= N;++i)
cin >> B[i];int a, b;for(a = b =1; b <= N;){if(B[b]== a)
a++, b++;elseif(s.size()&& s.top()== B[b])
s.pop(), b++;elseif(a <= N)
s.push(a++);else{
OK =false;break;}}
os <<(OK ?"Yes":"No")<<'\n';}
os <<'\n';delete[] B;}return0;}