#include<stdio.h>
#include<string.h>
#define Max(a,b) (a>b?a:b)
int a[100005];
int dp[100005];
int main(int argc, char** argv)
{
int w=1;
while(scanf("%d",&a[w++])!=EOF);
w-=2;
int ans=0,nss=0;
int cnt;
cnt=1,dp[1]=a[1];
for(int i=2;i<=w;i++)
{
if(dp[cnt]>=a[i])
dp[++cnt]=a[i];
else
for(int j=1;1;j++)
{
if(dp[j]<a[i])
{
dp[j]=a[i];
break;
}
}
}
printf("%d\n",cnt);
cnt=1,dp[1]=a[1];
for(int i=2;i<=w;i++)
{
if(dp[cnt]<a[i])
dp[++cnt]=a[i];
else
for(int j=1;1;j++)
{
if(dp[j]>=a[i])
{
dp[j]=a[i];
break;
}
}
}
printf("%d\n",cnt);
return 0;
}