#include<iostream>
#include<algorithm>
using namespace std;
int a[1000006],b[1000006],c[1000006];
int ans1 = 0;
int ans2 = 0;
bool cmp(int a, int b)
{
return a > b;
}
int main()
{
int n = 0;
while (cin >> a[++n]);
n--;
int len1 = 0, len0 = 0;
b[0] = 99999999;
c[0] = -1;
for (int i = 1; i <= n; i++)
{
if (a[i] <= b[len1])
{
len1++;
b[len1] = a[i];
}
else
{
int t1 = upper_bound(b + 1, b + 1 + len1, a[i], cmp) - b;
b[t1] = a[i];
}
if(a[i]>c[len0])
{
len0++;
c[len0]=a[i];
}
else
{
int t2 = lower_bound(c + 1, c + 1 + len0, a[i]) - c;
c[t2] = a[i];
}
}
cout << len1 << endl;
cout<< len0;
return 0;
}