import sys
sys.stdin.readline
sys.setrecursionlimit(10**6)
from itertools import combinations
num=input()
def oddcheck(n):
cnt=0
for i in n:
if int(i)%2==1:
cnt+=1
return cnt # n이라는 수의 각 자리에 존재하는 홀수의 갯수를 센다.
def solve(num,cnt):
l=len(num)
cnt+=oddcheck(num)
global maxresult,minresult
if(l==1):
minresult=min(minresult,cnt)
maxresult=max(maxresult,cnt)
return # 모든 탐색이 완료됐으므로 return
elif(l==2):
pivot=int(num[0]+num[1])
first=pivot//10
second=pivot%10
n=first+second #2자리인 경우 앞자리수+뒷자리수
solve(str(n),cnt)
items=[] # ex)1234라 하면 1,2,3번째에서 끊을 수 있으므로 range 범위 설정.
for i in range(1,l):
items.append(i)
combi=list(combinations(items,2)) # 끊어줄 2곳의 index를 담음(3곳으로 나눠야 하면 2곳을 끊으면 된다.)
for i in range(len(combi)):
newn=int(num[:combi[i][0]])+int(num[combi[i][0]:combi[i][1]])+int(num[combi[i][1]:])
solve(str(newn),cnt)
minresult=987654321
maxresult=0
solve(num,0)
print(minresult,maxresult)