#include<bits/stdc++.h>
using namespace std;
int n,m,mx,mn,a[100006],b[100006],dp[100006];
int main()
{
int i,j,k;
while(cin>>a[n]) n++;
for(i=0;i<n;i++) dp[i]=1;
for(i=0;i<n;i++)
for(j=0;j<i;j++)
if(a[j]>=a[i]) dp[i]=max(dp[i],dp[j]+1);
for(i=0;i<n;i++) mx=max(dp[i],mx);
cout<<mx<<endl;
for(i=0;i<n;i++){
mn=30000,k=0;
for(j=1;j<=m;j++)
if(b[j]>=a[i]&&b[j]-a[i]<mn) mn=b[j]-a[i],k=j;
if(k==0) m++,b[m]=a[i];
else b[k]=a[i];
}
cout<<m;
return 0;
}