program main
  implicit none
  integer(8) :: n, i, j, k, p, q, m, y(0:5), dp(0:12), dppre(0:12)
  character(10 ** 5) :: s

  m = 10 ** 9 + 7
  y(0:5) = (/1, 10, 9, 12, 3, 4/)
  dp(0) = 1  ! dp(x) は (その桁までの値 % 13) == x となる通りの数
  dp(1:) = 0

  read (*, *) s
  n = len_trim(s)
  do i = 1, n  ! 1の位から順に
    dppre(:) = dp(:)
    dp(:) = 0
    j = n - i + 1
    if (s(j:j) == "?") then
      do p = 0, 9
        q = y(modulo(i - 1, 6_8)) * p  ! これだけ値が増える
        do k = 0, 12  ! もらうDP
          dp(k) = modulo(dp(k) + dppre(modulo(k - q, 13_8)), m)
        end do
      end do
    else
      read (s(j:j), *) p
      q = y(modulo(i - 1, 6_8)) * p  ! これだけ値が増える
      do k = 0, 12  ! もらうDP
        dp(k) = modulo(dp(k) + dppre(modulo(k - q, 13_8)), m)
      end do
    end if
  end do
  write (*, "(i0)") dp(5)
end program main
