import java.io.*;
import java.util.*;
public class Main {
//判断一个数组arr是否为搜索二叉树的后序遍历
/*后序遍历 左 右 根
搜索二叉树:左子树的节点值均比根小,右子树的节点值均比根大
递归
* */
public static boolean isPostArray(int[]arr){
if(arr==null||arr.length==0){
return false;
}
return isPost(arr,0,arr.length-1);
}
public static boolean isPost(int[]arr,int start,int end){
if(start==end){
return true;
}
int less=-1; //左子树最右边
int more=end; //右子树最左边
for(int i=start;i<end;i++){
if(arr[i]<arr[end]){
less=i;
}else {
//more=end说明还未开始确定右子树边界
more= more==end?i:more;
}
}
//只有右子树 或者 只有左子树
if(less==-1||more==end){
return isPost(arr,start,end-1);
}
//边界对不上
if(less!=more-1){
return false;
}
return isPost(arr,start,less)&&isPost(arr,more,end-1);
}
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int n=in.nextInt();
int[] arr=new int[n];
for (int i = 0; i <n ; i++) {
arr[i]=in.nextInt();
}
boolean result=isPostArray(arr);
System.out.println(result);
}
}