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.*;

public class Main {
    static Collection<Integer> generateModulusArray(String word) {
        HashMap<Integer, Integer> seen = new HashMap<>();
        seen.put(0, 1);
        int prevMod = 0;
        int tensMod = 1;
        for (int i = word.length()-1; i >= 0; i--) {
            prevMod = (tensMod * (word.charAt(i) - '0') + prevMod) % 2019;
            seen.merge(prevMod, 1, Integer::sum);
            tensMod = (tensMod * 10) % 2019;
        }
        return seen.values();
    }

    public static void main(String[] args) {
        int result = 0;
        Scanner sc = new Scanner(System.in);
        String word = sc.next();
        Collection<Integer> reps = generateModulusArray(word);
        for (Integer r: reps) result += (r * (r - 1))/2;
        System.out.println(result);
    }
}
