#include <bits/stdc++.h>
using namespace std;
long long E[50];
int get_len(long long s) {
  int cnt(0);
  while (s) cnt++, s /= 10;
  return cnt;
}
int find(long long n, int l) {
  if (n == 0) return 0;
  int len = get_len(n);
  if (n < E[l]) {
    return min(find(n, l - 1), find(E[l] - n, l - 1) + l);
  }
  int k;
  for (k = 1;; k++)
    if (E[l] * k > n) break;
  k--;
  return find(n - E[l] * k, l) + k * l;
}
int main() {
  E[1] = 1;
  for (int i = 2; i < 20; i++) E[i] = E[i - 1] * 10 + 1;
  long long n;
  while (cin >> n) {
    int len = get_len(n);
    cout << min(find(n, len), find(E[len + 1] - n, len) + len + 1) << endl;
  }
}
