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()[::-1]
  p = [1] + [0] * 12
  q = 1
  t = [[(i * k) % 13 for i in range(10)] for k in range(13)]
  for i in s:
      if i != "?":
          i = int(i)
          g = t[q][i]
          p = p[-g:] + p[:-g]
      else:
          d = [0] * 13
          for j in t[q]:
              r = p[-j:] + p[:-j]
              d = [(r[i] + d[i]) % (10**9 + 7) for i in range(13)]
          p = d
      q = (q * 10) % 13
  print(p[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"}]