/*
█████████───███─────────███───███─────────████████████───███████████████───████████████───████████████───█████████───────
█████████───███─────────███───███─────────████████████───███████████████───████████████───████████████───█████████───────
█████████───███─────────███───███─────────████████████───███████████████───████████████───████████████───█████████───────
███─────────███─────────███───███─────────███──────███───███───███───███───███──────███───███──────███───███─────────────
███─────────███─────────███───███─────────███──────███───███───███───███───███──────███───███──────███───███─────────────
███─────────███─────────███───███─────────███──────███───███───███───███───███──────███───███──────███───███─────────────
█████████──────███───███──────███─────────████████████───███───███───███───████████████───███──────███───█████████───────
█████████──────███───███──────███─────────████████████───███───███───███───████████████───███──────███───█████████───────
█████████──────███───███──────███─────────████████████───███───███───███───████████████───███──────███───█████████───────
███────────────███───███──────███─────────███──────███───███───███───███───███────────────███──────███─────────███───────
███────────────███───███──────███─────────███──────███───███───███───███───███────────────███──────███─────────███───────
███────────────███───███──────███─────────███──────███───███───███───███───███────────────███──────███─────────███───────
█████████─────────███─────────█████████───███──────███───███───███───███───███────────────████████████───█████████───────
█████████─────────███─────────█████████───███──────███───███───███───███───███────────────████████████───█████████───────
█████████─────────███─────────█████████───███──────███───███───███───███───███────────────████████████───█████████───────
*/
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
#define fori(n) for ( int i = 0; i < (n);i++)
#define forj(n) for ( int j = 0; j < (n);j++)
#define fork(n) for ( int k = 0; k < (n);k++)
#define forghj(n) for ( int ghj = 0; ghj < (n);ghj++)
#define fori1(n) for ( int i = (n)-1; i >= 0;i--)
#define all(vector) (vector).begin(),(vector).end()
#define ff first
#define ss second
#define pb push_back
#define mp make_pair
#define INF 1e9+7
#define EPS 1e-6
#define _FORTIFY_SOURCE 0
#pragma GCC optimize("Ofast")
#pragma GCC optimize("no-stack-protector")
#pragma GCC optimize("unroll-loops")
#pragma GCC target("sse,sse2,sse3,ssse3,popcnt,abm,mmx,tune=native")
#pragma GCC optimize("fast-math")
#pragma GCC optimize "-O3"

int main() {
    srand(time(NULL));
    string s;
    cin >> s;
    int n = s.size();
    ll ten = 1;
    reverse(all(s));
    vector < vector < ll > > past;
    past.resize(n);
    past[0].resize(13);
    if (s[0] == '?') {
        fori(10) past[0][i] = 1;
    } else {
        past[0][s[0] - '0'] = 1;
    }
    ll mod = 1e9 + 7;
    ten *= 10;
    for (int i = 1; i < s.size(); i++) {
        past[i].resize(13);
        if (s[i] == '?') {
            for (int j = 0; j < 13; j++) { /// перебираем все отстатки которые у нас получились
                for (int num = 0; num <= 9; num++) {
                    past[i][(j + ten * num) % 13] += past[i - 1][j];
                }
            }
            forj(13) past[i][j] %= mod;
        } else {
            for (int j = 0; j < 13; j++) {
                past[i][(j + (ten * (s[i] - '0'))) % 13] += past[i - 1][j];
            }
            forj(13) past[i][j] %= mod;
        }
        ten *= 10;
        ten %= 13;
    }
    cout << past[n - 1][5];
}






Measured memory_bytes: 13568