#include<iostream>
using namespace std;
int a[100001];
int n=1;
int dp_down[100001],dp_up[100001];
int main() {
while(cin>>a[n]) {
dp_up[n]=1;
dp_down[n++]=1;
}
n--;
int max_up=1,max_down=1;
for(int i=2; i<=n; i++) {
for(int j=1; j<i; j++) {
if(a[i]<=a[j])dp_down[i]=max(dp_down[i],dp_down[j]+1);
if(a[i]>a[j])dp_up[i]=max(dp_up[i],dp_up[j]+1);
}
max_down=max(dp_down[i],max_down);
max_up=max(dp_up[i],max_up);
}
cout<<max_down<<endl<<max_up<<endl;
return 0;
}