#include<iostream>
#include<stdio.h>
#define MAX 100000+10
#define ll long long
#include<algorithm>
using namespace std;
int fun3(int *arry,int n)
{
int matr[100000]={0,arry[1]};
int num=1;
for(int i=1;i<=n;i++)
{
if(arry[i]<matr[num])
{
matr[++num]=arry[i];
}
else
{
int l=1,r=num;
while(l<r)
{
int mid=(l+r)/2;
if(matr[mid]>arry[i])
{
l=mid+1;
}
else
{
r=mid;
}
}
matr[r]=arry[i];
}
}
return num;
}
int fun2(int *arry,int n)
{
int num=0,ans=0;
while(num!=n)
{ int ma=100000;
for(int i=1;i<=n;i++)
{
if( arry[i]<=ma&&arry[i]>0)
{
num++;
ma=arry[i];
arry[i]=-1;
}
}
ans++;
}
return ans;
}
int main()
{
int arry[MAX]={0},n=1;
char temp;
while(cin>>arry[n])
{
n++;
}
int num=fun3(arry,n-1);
int sum=fun2(arry,n-1);
printf("%d\n",num);
printf("%d",sum);
}