#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
#include<climits>
#include<iomanip>
#include<vector>
#include<queue>
#include<map>
int dp1[1000], dp2[1000], a[1000], idx = 0, ans = 0, cnt = 0;
int max(int x, int y) {
return x > y ? x : y;
}
int main() {
while(scanf("%d", &a[idx]) != EOF) {
idx ++;
}
for(int i = 0; i < idx; i ++) {
dp1[i] = dp2[i] = 1;
for(int j = 0; j < i; j ++) {
if(a[i] <= a[j]) {
dp1[i] = max(dp1[i], dp1[j]+1);
} else {
dp2[i] = max(dp2[i], dp2[j]+1);
}
}
if(ans < dp1[i]) {
ans = dp1[i];
}
if(cnt < dp2[i]) {
cnt = dp2[i];
}
}
printf("%d\n%d\n", ans, cnt);
return 0;
}