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:
def ans(n):
    if n == 0:
        return 0
    val = 1
    ct = 1
    while 10*val+1 <= n:
        val*=10
        val+=1
        ct += 1
        
    if n<=5*val:
        return ans(n - val)+ct

    if n>6*val:
        return ans(10*val + 1 - n)+ct+1

    ans1 = ans(n - val)+ct
    ans2 = ans(10*val + 1 - n)+ct+1
    return(min(ans1, ans2))

n = int(input())
print(ans(n))