#include<stdio.h>
#include<string.h>
int main()
{
	char s[200005];
	scanf("%s", s);
	int n = strlen(s);
	int i;
	int p = 2019;
	int m[200005];
	int k = 10;
	m[n - 1] = s[n - 1] - '0';
	for (i = n - 2; i >= 0; i--)
	{
		m[i] = ((s[i] - '0') * k + m[i + 1]) % p;
		//printf("%d:%d, %d\n",i,m[i],k);
		k = 10 * k % p;
		
	}
	long long int cnt[2020];
	for (i = 0; i < 2020; i++)
		cnt[i] = 0;
	for (i = 0; i < n; i++)
		cnt[m[i]]++;
	cnt[0]++;
	long long int ans = 0;
	for (i = 0; i < 2020; i++){
		ans += cnt[i] * (cnt[i] - 1) / 2;
		//if(cnt[i]>0)printf("cnt:%d,%d\n",i,cnt[i]);
	}
	printf("%lld\n", ans);
	return 0;
}