# -*- coding: utf-8 -*-
N="0"+raw_input()
l=len(N)

F=[ 0 for _ in range(l) ] #繰り上がりなし
T=[ 0 for _ in range(l) ] #繰り上がりあり
#初期化
x=int(N[l-1])
F[l-1]=x
T[l-1]=10-x

for i in range(l-1,0,-1):
    next_x=int(N[i-1])
    #繰上なしへの遷移。前の桁が繰上なしの場合は単に該当桁の数字を足す、
    #前の桁が繰上ありの場合は、今の桁の数字が1増える
    F[i-1]=min(F[i]+next_x, T[i]+next_x+1) 
    #繰上ありへの遷移。前の桁が繰上なしの場合は(10-該当桁の数字)を足す、
    #前の桁が繰上ありの場合は今の桁の数字が1増えているので(10-該当桁の数字+1)
    T[i-1]=min(F[i]+10-next_x, T[i]+10-(next_x+1))

print F[0] N="0"+raw_input() N "0"+raw_input() "0" raw_input() raw_input l=len(N) l len(N) len N 0 for _ in range(l) for _ in range(l) _ range(l) range l for _ in range(l) 0 F=[ 0 for _ in range(l) ] F [ 0 for _ in range(l) ] 0 for _ in range(l) for _ in range(l) _ range(l) range l for _ in range(l) 0 T=[ 0 for _ in range(l) ] T [ 0 for _ in range(l) ] x=int(N[l-1]) x int(N[l-1]) int N[l-1] N l-1 l 1 F[l-1]=x F[l-1] F l-1 l 1 x T[l-1]=10-x T[l-1] T l-1 l 1 10-x 10 x for i in range(l-1,0,-1):
    next_x=int(N[i-1])
    #繰上なしへの遷移。前の桁が繰上なしの場合は単に該当桁の数字を足す、
    #前の桁が繰上ありの場合は、今の桁の数字が1増える
    F[i-1]=min(F[i]+next_x, T[i]+next_x+1) 
    #繰上ありへの遷移。前の桁が繰上なしの場合は(10-該当桁の数字)を足す、
    #前の桁が繰上ありの場合は今の桁の数字が1増えているので(10-該当桁の数字+1)
    T[i-1]=min(F[i]+10-next_x, T[i]+10-(next_x+1)) i range(l-1,0,-1) range l-1 l 1 0 -1 next_x=int(N[i-1]) next_x int(N[i-1]) int N[i-1] N i-1 i 1 F[i-1]=min(F[i]+next_x, T[i]+next_x+1) F[i-1] F i-1 i 1 min(F[i]+next_x, T[i]+next_x+1) min F[i]+next_x F[i] F i next_x T[i]+next_x+1 T[i]+next_x T[i] T i next_x 1 T[i-1]=min(F[i]+10-next_x, T[i]+10-(next_x+1)) T[i-1] T i-1 i 1 min(F[i]+10-next_x, T[i]+10-(next_x+1)) min F[i]+10-next_x F[i]+10 F[i] F i 10 next_x T[i]+10-(next_x+1) T[i]+10 T[i] T i 10 next_x+1 next_x 1 print F[0] F 0 x=int(N[l-1]) int(N[l-1]) x N="0"+raw_input() "0"+raw_input() N l=len(N) len(N) l T=[ 0 for _ in range(l) ] [ 0 for _ in range(l) ] T F=[ 0 for _ in range(l) ] [ 0 for _ in range(l) ] F next_x=int(N[i-1]) int(N[i-1]) next_x
# -*- coding: utf-8 -*-
N="0"+raw_input()
l=len(N)

F=[ 0 for _ in range(l) ] #繰り上がりなし
T=[ 0 for _ in range(l) ] #繰り上がりあり
#初期化
x=int(N[l-1])
F[l-1]=x
T[l-1]=10-x

for i in range(l-1,0,-1):
    next_x=int(N[i-1])
    #繰上なしへの遷移。前の桁が繰上なしの場合は単に該当桁の数字を足す、
    #前の桁が繰上ありの場合は、今の桁の数字が1増える
    F[i-1]=min(F[i]+next_x, T[i]+next_x+1) 
    #繰上ありへの遷移。前の桁が繰上なしの場合は(10-該当桁の数字)を足す、
    #前の桁が繰上ありの場合は今の桁の数字が1増えているので(10-該当桁の数字+1)
    T[i-1]=min(F[i]+10-next_x, T[i]+10-(next_x+1))

print F[0]
