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

int main(){
   char s[200001];
   int  i,j,k,l,m,at[200001],ap;
   long n[200001],ans;

   scanf("%s",s);
   l=strlen(s);
   for (i=0;i<l;i++) n[i]=-1;
   ans=0;
   for (i=0;i<l;i++) {
      k=0;m=0;ap=0;
      for (j=i;j<l;j++) {
         k=(k*10+s[j]-'0')%2019;
         if (k==0 && n[j]>0) {
            m+=n[j];
            break;
         } else if (k==0) {
            at[ap++]=j;
            m++;
         }
      }
      for (j=0;j<ap;j++) n[at[j]]=m-i;
      ans+=m;
   }
   printf("%ld\n",ans);
   return 0;
}
