Given is a string S consisting of digits from `1` through `9`.

Find the number of pairs of integers (i,j) (1 ≤ i ≤ j ≤ |S|) that satisfy the following condition:

Condition: In base ten, the i-th through j-th characters of S form an integer that is a multiple of 2019.

Constraints

* 1 ≤ |S| ≤ 200000
* S is a string consisting of digits from `1` through `9`.

Input

Input is given from Standard Input in the following format:


S


Output

Print the number of pairs of integers (i,j) (1 ≤ i ≤ j ≤ |S|) that satisfy the condition.

Examples

Input

1817181712114


Output

3


Input

14282668646


Output

2


Input

2119


Output

0
#pragma GCC optimize("Ofast")
#include<stdio.h>
#include<algorithm>
using namespace std;
char str[200005];
long long dp[5][2050]={0};
int main(){
	long long i,j,n,ans=0;
	scanf(" %s",str);
	for(i=0;str[i];i++){
		for(j=0;j<2019;j++)
			dp[i&1][j]=0;
		for(j=0;j<2019;j++)
			dp[i&1][(j*10+str[i]-'0')%2019]+=dp[(i&1)^1][j];
		dp[i&1][str[i]-'0']++;
		ans+=dp[i&1][0];
	}
	printf("%lld\n",ans);
}