import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Stack; import java.util.StringTokenizer; class Main { public static void main (String [] abc) throws IOException { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); String s; while (!(s=br.readLine()).equals("0")) { int n=Integer.parseInt(s); while (!(s=br.readLine()).equals("0")) { LinkedList<Integer> incomingTrain=new LinkedList<>(); for (int i=1;i<=n;i++) incomingTrain.add(i); Stack<Integer> stationTrain=new Stack<>(); StringTokenizer st=new StringTokenizer(s); boolean fail=false; while (st.hasMoreTokens()) { int queue=Integer.parseInt(st.nextToken()); if (incomingTrain.contains(queue)) while (incomingTrain.contains(queue)) stationTrain.push(incomingTrain.removeFirst()); if (stationTrain.size()>0 && stationTrain.peek()==queue) stationTrain.pop(); else { fail=true; break; } } if (fail) System.out.println("No"); else System.out.println("Yes"); } System.out.println(); } } }