#include<bits/stdc++.h>
using namespace std;
int n,ans = 1,t,a[100010],d[100010],f[100010];
int main()
{
while(scanf("%d",&a[++n]) != EOF);
n--;
for(int i = 1;i <= n;i++)
{
f[i] = 1;
for(int j = t;j > 0;j--)
{
if(a[i] <= a[d[j]]){
f[i] = f[d[j]] + 1;
break;
}
}
t = max(t,f[i]);
d[f[i]] = i;
ans = max(ans,f[i]);
}
cout << ans << endl;
ans = 1;
t = 0;
for(int i = 1;i <= n;i++){
f[i] = 1;
for(int j = t;j > 0;j--)
{
if(a[i] > a[d[j]]){
f[i] = f[d[j]] + 1;
break;
}
}
t = max(t,f[i]);
d[f[i]] = i;
ans = max(ans,f[i]);
}
cout << ans;
return 0;
}