#include<bits/stdc++.h>
using namespace std;
int n,l,r,mid,max1,max2;
int a[1000010],f1[1000010],f2[1000010];
int main()
{
while(scanf("%d",&a[++n])!=EOF);
n--;
f1[1]=f2[1]=a[1];
max1=max2=1;
for(int i=2;i<=n;i++)
{
l=1,r=max1;
while(l<=r)
{
mid=(l+r)>>1;
if(f1[mid]>=a[i]) l=mid+1;
else r=mid-1;
}
f1[l]=a[i];
if(l>max1) max1++;
}
for(int i=1;i<=n;i++)
{
l=1,r=max2;
while(l<=r)
{
mid=(l+r)>>1;
if(f2[mid]<a[i]) l=mid+1;
else r=mid-1;
}
f2[l]=a[i];
if(l>max2) max2++;
}
printf("%d\n%d",max1,max2);
return 0;
}
真香
终于不是红的100了