#include<cstdio>
int m,n,a[1000],f[10000],i,j,ans1,ans2,g[1000];
int max(int x,int y){
return x>y?x:y;
}
int main(){
while(scanf("%d",&a[n])!=EOF)
n++;
for(i=0;i<=n;i++){
f[i]=1;
for(j=0;j<i;j++){
if(a[i]>=a[j] && f[i]<f[j]+1){
f[i]=f[j]+1;
}
}
}
ans1=0;
for(i=0;i<=n;i++){
if(f[i]>ans1)
ans1=f[i];
}
for(i=0;i<n;i++){
g[i]=1;
for(j=0;j<i;j++){
if(a[j]>a[i] && g[i]<g[j]+1)
g[i]=g[j]+1;
}
}
ans2=0;
for(i=0;i<=n;i++)
ans2=max(g[i],ans2);
printf("%d\n%d",ans2,ans1);
return 0;
}