#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int a[N],d[N],c[N],k;
int main(){
int n=1;
while(cin>>a[n]){
d[n]=1;
n++;
}
int ma=0;
for(int i=1;i<n;i++){
for(int j=1;j<i;j++){
if(a[i]<=a[j]){
d[i]=max(d[i],d[j]+1);
}
}
ma=max(ma,d[i]);
}
cout<<ma<<endl;
bool f;
for(int i=1;i<=n;i++){
f=false;
for(int j=0;j<k;j++){
if(c[j]>=a[i]){
c[j]=a[i];
f=true;
break;
}
}
if(f==false){
c[k]=a[i];
k++;
}
}
cout<<k;
return 0;
}