#include<bits/stdc++.h>
using namespace std;
int n,a[101],dpa[101],dpb[101],dpc[101],ans;
int main(){
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
dpa[i]=1;
for(int j=1;j<=i;j++)
{
if(a[i]>a[j]) dpa[i]=max(dpa[i],dpa[j]+1);
}
}
for(int i=n;i>=1;i--)
{
dpb[i]=1;
for(int j=n;j>=i;j--)
{
if(a[i]>a[j]) dpb[i]=max(dpb[i],dpb[j]+1);
}
}
for(int i=1;i<=n;i++)
{
ans=max(ans,dpa[i]+dpb[i]-1);
}
cout<<ans;
}
/**************************************************************
Problem: 1277
User: wuyunfeng
Language: C++
Result: Wrong Answer
****************************************************************/