#include <bits/stdc++.h>
using namespace std;
string s;
long long c = 0;
int conv = 0;
int convert(char a) {
  switch (a) {
    case '0':
      return 0;
    case '1':
      return 1;
    case '2':
      return 2;
    case '3':
      return 3;
    case '4':
      return 4;
    case '5':
      return 5;
    case '6':
      return 6;
    case '7':
      return 7;
    case '8':
      return 8;
    case '9':
      return 9;
  }
}
int main(int argc, char** argv) {
  cin >> s;
  for (int i = s.length() - 1; i >= 0; i--) {
    if (s[i] % 4 == 0) {
      if (i > 0) {
        conv += convert(s[i - 1]);
        conv *= 10;
        conv += convert(s[i]);
        if (conv % 4 == 0)
          c += i + 1;
        else {
          c++;
        }
      } else {
        c++;
      }
    } else {
      if (i > 0) {
        conv += convert(s[i - 1]);
        conv *= 10;
        conv += convert(s[i]);
        if (conv % 4 == 0) c += i;
      }
    }
    conv = 0;
  }
  cout << c;
  return 0;
}
