output_description: Print the number of integers satisfying the condition, modulo 10^9+7.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      S
attempt: s = input()
  a = [0] * 13
  a[0] = 1
  for i in s:
      b = [0] * 13
      for j, k in enumerate(a):
          b[(j * 10) % 13] += k
      a = b[:]
      b = [0] * 13
      if i == "?":
          for l in range(10):
              for j, k in enumerate(a):
                  b[(j + l) % 13] += k
      else:
          for j, k in enumerate(a):
              b[(j + int(i)) % 13] += k
      a = [j % (10**9 + 7) for j in b]
  print(a[5] % (10**9 + 7))
  
problem_description: Statement
  
  Given is a string S. Each character in S is either a digit (`0`, ..., `9`) or
  `?`.
  
  Among the integers obtained by replacing each occurrence of `?` with a digit,
  how many have a remainder of 5 when divided by 13? An integer may begin with
  0.
  
  Since the answer can be enormous, print the count modulo 10^9+7.
samples: [{"input": "??2??5", "output": "768\n    \n\nFor example, 482305, 002865, and 972665 satisfy the condition.\n\n* * *"}, {"input": "?44", "output": "1\n    \n\nOnly 044 satisfies the condition.\n\n* * *"}, {"input": "7?4", "output": "0\n    \n\nWe may not be able to produce an integer satisfying the condition.\n\n* * *"}, {"input": "?6?42???8??2??06243????9??3???7258??5??7???????774????4?1??17???9?5?70???76???", "output": "153716888"}]