#include <bits/stdc++.h>
using namespace std;
const long long maxx = 200006;
const long long mod = 1000000000 + 7;
const long long INF = 1e18;
int ans = 10000000;
string s;
bool check(int a, int b) {
  int cnt = 0;
  if (a == b) {
    for (char to : s) {
      if (to - '0' == a) cnt++;
      if (cnt == 2) break;
    }
  } else {
    for (char to : s) {
      if (to - '0' == a) {
        cnt++;
        break;
      }
    }
    for (char to : s) {
      if (to - '0' == b) {
        cnt++;
        break;
      }
    }
  }
  return cnt == 2;
}
void solve(int a, int b) {
  if (!check(a, b)) return;
  string t = s;
  int tem = 0, n = t.size();
  for (int i = n - 1; i >= 0; i--) {
    if (t[i] - '0' == b) {
      int j = i;
      while (j < n - 1) {
        swap(t[j], t[j + 1]);
        j++;
      }
      tem += n - i - 1;
      break;
    }
  }
  for (int i = n - 2; i >= 0; i--) {
    if (t[i] - '0' == a) {
      int j = i;
      while (j < n - 2) {
        swap(t[j], t[j + 1]);
        j++;
      }
      tem += n - i - 2;
      break;
    }
  }
  int ok = 1;
  if (t[0] == '0') {
    ok = 0;
    for (int i = 0; i < n - 2; i++) {
      if (t[i] != '0') {
        ok = 1;
        tem += i;
        break;
      }
    }
  }
  if (ok) ans = min(ans, tem);
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  long long n;
  cin >> n;
  s = to_string(n);
  solve(0, 0);
  solve(2, 5);
  solve(5, 0);
  solve(7, 5);
  if (ans == 10000000) ans = -1;
  cout << ans;
}
