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
import java.util.*;
import java.io.PrintWriter;
public class Main{
	public static void main(String[] args){
		Scanner sc=new Scanner(System.in);
		String s=sc.next();
		HashMap<Integer,Integer> map=new HashMap<>();
		int tmp=0;
		int ten=1;
		for(int i=s.length()-1; i>=0; i--){
			tmp=(tmp+(s.charAt(i)-'0')*ten)%2019;
			if(map.containsKey(tmp)){
				map.put(tmp,map.get(tmp)+1);
			}else{
				map.put(tmp,1);
			}
			ten=ten*10%2019;
		}
		long ans=0;
		for(int i=1; i<2019; i++){
			if(map.get(i)!=null){
				ans+=(long)(map.get(i)*(map.get(i)-1)/2);
			}
		}
		if(map.get(0)!=null){
			ans+=map.get(0);
			ans+=map.get(0)*(map.get(0)-1)/2;
		}
		System.out.println(ans);
	}
}
