#include<bits/stdc++.h>
using namespace std;
int a[100100],dp[100100];
int main()
{
int n=0,len=0;
while(cin>>a[++n]);
n--;
dp[++len]=a[1];
for(int i=2;i<=n;i++)
if(a[i]<=dp[len])
{
dp[++len]=a[i];
}
else
{
int l=1,r=len,mid,p;
while(l<=r)
{
mid=(l+r)/2;
if(dp[mid]<=a[i])//这里改成“<”就AC了
{
p=mid;
r=mid-1;
}
else l=mid+1;
}
dp[p]=a[i];
}
cout<<len<<endl;
len=1;
for(int i=1;i<=n;i++)
dp[i]=0;
dp[len]=a[1];
for(int i=2;i<=n;i++)
if(a[i]>dp[len])
{
dp[++len]=a[i];
}
else
{
int l=1,r=len,mid,p;
while(l<=r)
{
mid=(l+r)/2;
if(dp[mid]>=a[i])
{
p=mid;
r=mid-1;
}
else l=mid+1;
}
dp[p]=a[i];
}
cout<<len;
return 0;
}