Problem: You are given a positive (greater than zero) integer n.

You have to represent n as the sum of integers (possibly negative) consisting only of ones (digits '1'). For example, 24 = 11 + 11 + 1 + 1 and 102 = 111 - 11 + 1 + 1. 

Among all possible representations, you have to find the one that uses the minimum number of ones in total.

Input

The single line contains one integer n (1 ≤ n < 10^{50}).

Output

Print one integer x — the minimum number of ones, such that there exist a representation of n as the sum of integers (possibly negative) that uses x ones in total.

Examples

Input


24


Output


6


Input


102


Output


7

Solution (in PYTHON3):

Solution:
n = int(input())

res={}

def cal(x):
    if x==0:
        return 0
    if x in res.keys():
        return res[x]
 
    larger = 1
    while x>=larger:
        larger = larger*10+1
    smaller = larger//10
    l = len(str(smaller))

    a = cal( x%smaller ) + (x//smaller) * l
    b = cal( (larger-x)%smaller) + l+1 + ((larger - x) // smaller) * l
    res[x] = min(a,b)
    return res[x]
 
print(cal(n))