/* D - Multiple of 2019 */

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

int number(char s[], int a[], int i, int j){
  int num = 0;
  while(i <= j){
    num += (s[i] - '0') * a[j - i];
    i++;
  }
  return num;
}

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

  return 0;
}
