#include<iostream> using namespace std; int N; int A[1<<17]; bool F[1<<17]; main() { cin>>N; for(int i=0;i<N;i++)cin>>A[i]; if(A[0]>A[N-1]) { cout<<"No"<<endl; return 0; } cout<<"Yes"<<endl; int T=A[N-1]; F[N-1]=true; for(int i=N-2;i>=0;i--) { if(T<A[i]) { T=A[i]; F[i]=true; } } int id=0,pre=1,flag=0; while(id<N) { while(!F[id])id++; for(int j=id-1;j>=pre;j--)cout<<(flag++?" ":"")<<A[j]; cout<<(flag++?" ":"")<<A[id]; pre=id+=1; } cout<<endl; }