#include<cstdio>
int n;
const int maxn=25;
int x[maxn];
bool first=true;
int ans;
void dfs(int a[],int len,int w){
bool flag=true;
for(int i=1;i<len;i++)
if(a[i]>a[i+1]) flag=false;
if(flag)
if(first) ans=len,first=false;
else if(len>ans) ans=len;
for(int i=1,j=x[1];i<=n;j=x[++i]){
if(i>w){
int b[maxn];
for(int t=1;t<=len;t++)
b[t]=a[t];
b[len+1]=j;
dfs(b,len+1,i);
}
}
}
int main(){
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&x[i]);
int a[maxn];
dfs(a,0,0);
printf("%d\n",ans);
return 0;
}