#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin>>n;
int arr[5005];
for(int i=0;i<n;i++){
cin>>arr[i];
}
int ans[5005];//维护数组
ans[0]=1;
for(int i=0;i<n;i++)
{
for(int j=0;j<i;j++)//遍历维护数组找到能接下去的值 在对应的i上++
{
if(arr[i]>=arr[j])ans[i]=max(ans[i],ans[j]+1);
else ans[i]=max(1,ans[i]);
}
}
int *op=max_element(ans,ans+n);
cout<<*op<<endl;
}
// Ciallo~(∠・ω< )⌒★
// Ciallo~(∠・ω< )⌒★
// Ciallo~(∠・ω< )⌒★
// Ciallo~(∠・ω< )⌒★
// Ciallo~(∠・ω< )⌒★
// Ciallo~(∠・ω< )⌒★
// Ciallo~(∠・ω< )⌒★
// Ciallo~(∠・ω< )⌒★