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 PYTHON):

Solution:
n = int(input())
res={}
def cal(x):
	if x==0: return 0
	if x in res.keys(): return res[x]

	l = len(str(x)); n1 = (10**l)//9; ans = 10**9
	#print(x,l,n1)

	if x < n1: n1=n1//10; l=l-1
	ans = min(cal(x % n1) + (x//n1) * l, ans)
	tmp = cal((n1 * 10 + 1 - x) % n1) + (l + 1) + ((n1 * 10 + 1 - x) // n1) * l
	if tmp < ans: ans = tmp
	res[x] = ans
	return ans


print(cal(n))