#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
const int N=1e6+10;
int f[N],a[N],ans,g[N];
int main()
{
int n=0;
while(cin>>a[++n])
{
char c=getchar();
if(c==EOF)break;
}
int cnt=0;
for(int i=1;i<=n;i++)
{
int k=1;
while(k<=cnt&&a[i]<=g[k])k++;
if(k>cnt)g[++cnt]=a[i];
else g[k]=a[i];
}
cout<<cnt<<endl;
cnt=0;
for(int i=1;i<=n;i++)
{
int k=1;
while(k<=cnt&&a[i]>f[k])k++;
if(k>cnt)f[++cnt]=a[i];
else f[k]=a[i];
}
cout<<cnt<<endl;
return 0;
}