Загрузка данных


begin
  var s: string;
  Readln(s);
  
  var totalCount: Int64 := 0;
  var n := s.Length;
  
  // Перебираем позицию начала подстроки (от 1 до конца)
  for var l := 1 to n do
  begin
    // Перебираем длину подстроки
    for var len := 1 to n - l + 1 do
    begin
      // Вырезаем кусочек строки
      var sub := Copy(s, l, len);
      
      // Для проверки делимости на 4 достаточно смотреть только 
      // на последние 1 или 2 цифры вырезанного кусочка!
      var num := 0;
      if sub.Length = 1 then
        num := StrToInt(sub)
      else
        num := StrToInt(Copy(sub, sub.Length - 1, 2));
      
      if num mod 4 = 0 then
        Inc(totalCount);
    end;
  end;
  
  Writeln(totalCount);
end.