Prof. Vasechkin wants to represent positive integer n as a sum of addends, where each addends is an integer number containing only 1s. For example, he can represent 121 as 121=111+11+–1. Help him to find the least number of digits 1 in such sum.

Input

The first line of the input contains integer n (1 ≤ n < 1015).

Output

Print expected minimal number of digits 1.

Examples

Input

121


Output

6
import java.util.Scanner;

public class Main {
    //17 mest rabimo za array vrednosti od enic
    static long[] vrednostiEnk = new long[17];

    //začnemo z vrednostjo, ki vsebuje največ enk in nadaljujemo iskanje najmanjše vsote
    public static long vsota(int mesto, long stevilo) {

        //najvišje število enk
        long najvisje = stevilo / vrednostiEnk[mesto];
        //koliko ostane med vnosom in trenutno vrednosti enk
        long ostanek = stevilo % vrednostiEnk[mesto];
        //število enk z uporabo mesta v arrayu
        long steviloEnk = najvisje * mesto;

        //če ostanek ni nič nadaljujemo, da vidimo, če moremo dodat še eno vrednost enk ali je boljše, če odštejemo najnižjo vsoto enk
        if (ostanek == 0) {
            return steviloEnk;
        }
        else {
            long arg1 = vsota(mesto-1, ostanek);
            long arg2 = mesto + vsota(mesto-1, vrednostiEnk[mesto]-ostanek);

            return steviloEnk + Math.min(arg1, arg2);
        }
    }

    public static void main(String[] args) {
        Scanner vnos = new Scanner(System.in);
        vrednostiEnk[0] = 0;
        //mesto 0 je 0, 1 je 1, 2 je 11, 3 je 111 itd...  mesto vrne število enic za vneseno vrednost
        for (int i = 1; i < 17; i++) {
            vrednostiEnk[i] = vrednostiEnk[i-1] * 10 + 1;
        }
        System.out.println(vsota(16, vnos.nextLong()));
    }
}