#include #include #include #include #include #include #include using namespace std; using ll = long long; constexpr int P = 1000000007; int main() { ios::sync_with_stdio(false); cin.tie(0); string t; cin >> t; int n = t.size(); for (int i = 0; i < n; i++) { t[i] = t[i] == '?' ? -1 : t[i] - '0'; } int d; cin >> d; int b = 1; for (int i = 0; i < n; i++) { if (t[i] > 0) b = 0; } if (d == 0) { cout << b << endl; exit(0); } int k = 0; for (int i = 0; i < n; i++) { if (t[i] < 0) { k++; } else { d -= t[i]; } } d %= 9; d += 9; d %= 9; ll dp[9] = { 1 }; for (int i = 0; i < k; i++) { ll s = 0; for (int j = 0; j < 9; j++) { s += dp[j]; } for (int j = 0; j < 9; j++) { (dp[j] += s) %= P; } } if (b) { (dp[0] += P - 1) %= P; } cout << dp[d] << endl; return 0; }