#include <bits/stdc++.h>
using namespace std;
const int MAXN=1e5+5;
int a[MAXN],ans=0,dp[MAXN],n,dp2[MAXN];
int main()
{
while(cin>>a[n])
n++;
for(int i=0;i<n;i++)
{
dp[i]=1;
for(int j=0;j<i;j++)
if(a[i]<=a[j])
dp[i]=max(dp[i],dp[j]+1);
ans=max(ans,dp[i]);
}
cout<<ans<<endl;
int ans2=0;
for(int i=0;i<n;i++)
{
int k=0;
while(k<ans2&&dp2[k]<a[i])
k++;
dp2[k]=a[i];
if(k>=ans2)
ans2++;
}
cout<<ans2<<endl;
return 0;
}