#include<bits/stdc++.h>
using namespace std;
int main()
{
int n=0,i=0,j=0,maxn=0,ans=0;
int a[100005][3]={};
n++;
while(cin>>a[n][1])
{
a[n][2]=1;
n++;
}
n--;
for(i=2;i<=n;i++)
{
maxn=0;
for(j=1;j<=i-1;j++)
{
if(a[j][1]>a[i][1])
maxn=max(maxn,a[j][2]);
}
a[i][2]+=maxn;
ans=max(ans,a[i][2]);
}
cout<<ans<<'\n';
int sys[100005]={0,a[1][1]},x=0,sysn=1;
for(i=2;i<=n;i++)
{
x=upper_bound(sys+1,sys+sysn+1,a[i][1])-sys;
if(x==sysn+1)
{
sysn++;
sys[sysn]=a[i][1];
}
else
sys[x]=a[i][1];
}
cout<<sysn;
}