#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=100005;
int n=0,ans,a[N],temp[N];
int main(){
while(cin >>a[++n]);
n--;
ans=0;
temp[0]=500001;
for(int i=1;i<=n;i++){
if(a[i]<=temp[ans])temp[++ans]=a[i];
else{
int l=1,r=ans,mid;
while(l<r){
mid=(l+r)/2;
if(temp[mid]<a[i])r=mid;
else l+mid+1;
}
temp[l]=a[i];
}
}
cout <<ans <<"\n";
ans=0;
temp[0]=-50001;
for(int i=1;i<=n;i++){
if(a[i]>temp[ans])temp[++ans]=a[i];
else{
int l=1,r=ans,mid;
while(l<r){
mid=(l+r)/2;
if(temp[mid]>=a[i])r=mid;
else l=mid+1;
}
temp[l]=a[i];
}
}
cout <<ans <<'\n';
return 0;
}