#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
long long a[200005],dp[200005],ds[200005],cnt,len=1,lcn=1,js1,js2;
int main()
{
//freopen("missile.in","r",stdin);
//freopen("missile.out","w",stdout);
while(cin>>a[++cnt]) if(a[cnt]==0) break;
cnt--;dp[1]=a[1];ds[1]=a[1];
for(int i=2;i<=cnt;i++)
{
if(a[i]<=dp[len])
dp[++len]=a[i];
else
{
int l=0,r=len,x=0;
while(l<=r)
{
long long mid=(l+r)/2;
if(a[i]>dp[mid]) r=mid-1;
else l=mid+1;
x=mid;
}
dp[x]=a[i];
}
if(a[i]>ds[lcn])
ds[++lcn]=a[i];
else
{
long long l=0,r=lcn,x=0;
while(l<=r)
{
long long mid=(l+r)/2;
if(ds[mid]<a[i]) l=mid+1;
else r=mid-1;
x=mid;
}
ds[x]=a[i];
}
}
for(int k=1;k<=len;k++) js1++;
for(int i=1;i<=lcn;i++) js2++;
cout<<js1<<endl<<js2;
return 0;
}
样例能过,其他全错