![]()
#include<iostream>
using namespace std;
const int N=100010;
int a[N],q[N],p[N];
int main()
{
int n=0,k;
while(cin>>k)
a[n++]=k;
int len=0;
for(int i=0;i<n;i++)
{
int l=0,r=len;
while(l<r)
{
int mid=l+r+1>>1;
if(p[mid]<a[i]) r=mid-1;
else l=mid;
}
p[l+1]=a[i];
len=max(len,l+1);
}
cout<<len<<endl;
int cnt=0;
for(int i=0;i<n;i++)
{
int k=0;
while(k<cnt&&a[i]>q[k]) k++;
q[k]=a[i];
if(k>=cnt) cnt++;
}
cout<<cnt;
}