p=[0]+list(map(int,input().split()))
n=len(p)
f=[0 for _ in range(1005)]#f[i][0]是末尾的数
f[1]=p[1]
cnt=2
for i in range(2,n):#统计个数
flag=0
for j in range(1,cnt):
if f[j]>=p[i]:
flag=1
f[j]=p[i]
break
if flag==0:
f[cnt]=p[i]
cnt+=1
ff=[0 for _ in range(1005)]
for i in range(1,n):#统计最长的非上升自序列
ff[i]=1
for j in range(1,i):
if p[i]<=p[j]:
ff[i]=max(ff[i],ff[j]+1)
ans=0
for i in range(1,n):
ans=max(ans,ff[i])
print(ans)
print(cnt-1)
2022 3 29上体育课去了,加油