/* D - Multiple of 2019 */

#include <stdio.h>
#include <string.h>

/* aのn乗を求める関数 */
int exponentiation(int a, int n){
  if(n == 0){
    return 1;
  }else if(n == 1){
    return a;
  }else{
    return a * exponentiation(a, n - 1);
  }
}

/* 数列から整数へ */
int number(char s[], int i, int j){
  int num = 0;
  while(i <= j){
    num += (s[i] - '0') * exponentiation(10, j - i);
    i++;
  }
  return num;
}

int main(void){
  char s[1000000];
  int len, i, j, ans = 0;
  scanf("%s", s);
  len = strlen(s);
  for(i = 0; i < len; i++){
    for(j = i; j < len; j++){
      if(number(s, i, j) % 2019 == 0){
        ans++;
        // printf("%d (%d, %d)\n", number(s, i, j), i+1, j+1);
      }
    }
  }
  printf("%d\n", ans);

  return 0;
}
