#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int maxn=50010;
int f[maxn],a[maxn],
cnt=1,len;
int main(){
while(cin>>a[cnt])cnt++;
cnt--;
f[0]=0x3f3f3f3f;
for(int i=1;i<=cnt;i++){
if(f[len]>=a[i])f[++len]=a[i];
else{
int l=0,r=len,mid;
while(l<r){
mid=(l+r)>>1;
if(f[mid]>=a[i])l=mid+1;
else r=mid;
}
f[r]=a[i];
}
}
cout<<len<<endl;
len=0;f[0]=-1;
for(int i=1;i<=cnt;i++){
if(f[len]<=a[i])f[++len]=a[i];
else{
int l=0,r=len,mid;
while(l<r){
mid=(l+r)>>1;
if(f[mid]>a[i])r=mid;
else l=mid+1;
}
f[l]=a[i];
}
}
cout<<len<<endl;
return 0;
}