#include<bits/stdc++.h>
using namespace std;
int a[100005];
int i=1;
int dp[100005];
int h[100005];
int maxx;
int m;
int n;
int l,r,mid;
int main(){
while (cin>>a[i]){
maxx=0;
for (int j=1;j<=i-1;j++){
if (a[j]>=a[i] and dp[j]>maxx) maxx=dp[j];
}
dp[i]=maxx+1;
m=max(dp[i],m);
l=1;r=n;
while (l<r){
mid=(l+r)/2;
if (h[mid]<a[i]) l=mid+1;
else r=mid;
}
if (h[r]<a[i]) n++,h[n]=a[i];
else h[r]=a[i];
i++;
}
cout<<m<<'\n'<<n;
return 0;
}