//progream p10_04
/*
第4课 防卫导弹(第十章 动态规划--DP)
(《聪明人的游戏--信息学探秘 提高篇》)
https://blog.csdn.net/weixin_40894017/article/details/79911355
https://blog.csdn.net/qq_41727666/article/details/83178332
https://blog.csdn.net/cr496352127/article/details/77934132?locationNum=10&fps=1
https://www.luogu.org/problemnew/show/P1020 https://www.luogu.org/problemnew/show/P1158
https://www.luogu.org/problemnew/show/P3903
会议厅(rez)
https://blog.csdn.net/qhyAmbrose/article/details/80329291
合唱队形(chorus)
https://blog.csdn.net/u011815404/article/details/81808803
NOIP2004合唱队列(提高组T3单调队列,动态规划(最长上升序列,最长下降序列)
https://blog.csdn.net/wly1127/article/details/82947457
*/
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int h[4002],f[4002];
int n;
int main()
{
for(n=0;cin>>h[n+1];++n);
int ans=0;
for(int i=1;i<=n;i++)
{
f[i]=1;
for(int j=1;j<i;j++)
{
if(h[j]>=h[i])
{
f[i]=max(f[i],f[j]+1);
}
}
ans=max(ans,f[i]);
}
cout<<ans<<endl;
return 0;
}