#include using namespace std; const long long mod = 1e9 + 7; int dp0[20000], dp1[20000]; int main() { string S; int M; cin >> S >> M; for (int i = 0; i < S.size(); i++) { memcpy(dp1, dp0, sizeof(dp0)); if (S[i] != '0') (dp1[(S[i] - '0') % M] += 1) %= mod; for (int j = 0; j < M; j++) { (dp1[(j * 10 + S[i] - '0') % M] += dp0[j]) %= mod; } swap(dp0, dp1); } (dp0[0] += count(S.begin(), S.end(), '0')) %= mod; cout << dp0[0] << endl; }