#include <bits/stdc++.h>
using namespace std;
string b, a;
int ans = 1000000;
void qishiwu() {
  a = b;
  int len = a.size();
  int i;
  bool flag = 0;
  for (i = len - 1; i >= 0; --i) {
    if (a[i] == '5') {
      flag = 1;
      break;
    }
  }
  if (flag == 0) return;
  int cnt = 0;
  for (int j = i; j < len - 1; ++j) {
    swap(a[j], a[j + 1]);
    cnt++;
  }
  flag = 0;
  for (i = len - 1; i >= 0; --i) {
    if (a[i] == '7') {
      flag = 1;
      break;
    }
  }
  if (flag == 0) return;
  for (int j = i; j < len - 2; ++j) {
    swap(a[j], a[j + 1]);
    cnt++;
  }
  for (i = 0; i < len - 2; ++i)
    if (a[i] != '0') break;
  ans = min(ans, cnt + i);
}
void linlin() {
  a = b;
  int len = a.size();
  int i;
  bool flag = 0;
  for (i = len - 1; i >= 0; --i) {
    if (a[i] == '0') {
      flag = 1;
      break;
    }
  }
  if (flag == 0) return;
  int cnt = 0;
  for (int j = i; j < len - 1; ++j) {
    swap(a[j], a[j + 1]);
    cnt++;
  }
  flag = 0;
  for (i = len - 2; i >= 0; --i) {
    if (a[i] == '0') {
      flag = 1;
      break;
    }
  }
  if (flag == 0) return;
  for (int j = i; j < len - 2; ++j) {
    swap(a[j], a[j + 1]);
    cnt++;
  }
  for (i = 0; i < len - 2; ++i)
    if (a[i] != '0') break;
  ans = min(ans, cnt + i);
}
void wushi() {
  a = b;
  int len = a.size();
  int i;
  bool flag = 0;
  for (i = len - 1; i >= 0; --i) {
    if (a[i] == '0') {
      flag = 1;
      break;
    }
  }
  if (flag == 0) return;
  int cnt = 0;
  for (int j = i; j < len - 1; ++j) {
    swap(a[j], a[j + 1]);
    cnt++;
  }
  flag = 0;
  for (i = len - 1; i >= 0; --i) {
    if (a[i] == '5') {
      flag = 1;
      break;
    }
  }
  if (flag == 0) return;
  for (int j = i; j < len - 2; ++j) {
    swap(a[j], a[j + 1]);
    cnt++;
  }
  for (i = 0; i < len - 2; ++i)
    if (a[i] != '0') break;
  ans = min(ans, cnt + i);
}
void ershiwu() {
  a = b;
  int len = a.size();
  int i;
  bool flag = 0;
  for (i = len - 1; i >= 0; --i) {
    if (a[i] == '5') {
      flag = 1;
      break;
    }
  }
  if (flag == 0) return;
  int cnt = 0;
  for (int j = i; j < len - 1; ++j) {
    swap(a[j], a[j + 1]);
    cnt++;
  }
  flag = 0;
  for (i = len - 1; i >= 0; --i) {
    if (a[i] == '2') {
      flag = 1;
      break;
    }
  }
  if (flag == 0) return;
  for (int j = i; j < len - 2; ++j) {
    swap(a[j], a[j + 1]);
    cnt++;
  }
  for (i = 0; i < len - 2; ++i)
    if (a[i] != '0') break;
  ans = min(ans, cnt + i);
}
int main() {
  cin >> b;
  ershiwu();
  qishiwu();
  linlin();
  wushi();
  if (ans == 1000000)
    puts("-1");
  else
    cout << ans;
  return 0;
}
