#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(){
    char s[200010];
    scanf("%s",s);
    int l = strlen(s);
    int i,j,n,p = 2019,c = 0,list[200005],mod[200005];
    long m = 0;
    list[0] = 1;
    mod[0] = (s[l - 1] - '0') % p;
    for(i = 1; i < l; i++){
      list[i] = (list[i - 1] * 10) % p;
      mod[i] = ((s[l - i - 1] - '0') * list[i] + mod[i - 1]) % p;
    }
    for(i = 0; i < p; i++) list[i] = 0;
    for(i = 0; i < l; i++){
      if(mod[i] == 0) m++;
      m += list[mod[i]];
      list[mod[i]]++;
    }
    printf("%ld\n",m);
    return 0;
}