output_description: Print the number of pairs of integers (i,j) (1 ≤ i ≤ j ≤ |S|) that satisfy the
  condition.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      S
attempt: use std::io::stdin;
  fn main() {
      let mut st = String::new();
      stdin().read_line(&mut st).unwrap();
      let s:Vec<char> = st.trim().chars().collect();
      let mut ten = 1;
      let mut c:usize = 0;
      let mut r:[i64;2020] = [0;2020];
      let m = s.len() as usize;
      for i in 1..m+1 {
          let mut x = s[m-i] as usize;
          x -= 48;
          c = (c+(x*ten)%2019)%2019;
          r[c] += 1;
          ten = (ten*10)%2019;
      };
      let mut result:i64 = 0;
      for i in 0..2019 {
          if &1 < &r[i] {
              result += (r[i]-1)*r[i]/2
          };
      };
      result += r[0];
      println!("{}", result);
  }
problem_description: Statement
  
  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.
samples: [{"input": "1817181712114", "output": "3\n    \n\nThree pairs - (1,5), (5,9), and (9,13) \\- satisfy the condition.\n\n* * *"}, {"input": "14282668646", "output": "2\n    \n\n* * *"}, {"input": "2119", "output": "0\n    \n\nNo pairs satisfy the condition."}]