#include <iostream>
#include <bits/stdc++.h> 
typedef long long ll;

using namespace std;
string k; 
int d; 
int n; 
ll M = 1e9 + 7; 
const int N = 1e4 + 5; 
const int D = 105; 
ll dp[N][D][2][2]; 
ll solve(int i, int sum, int can, int zer){

     if(i < 0 && !zer && sum == 0) return 1ll; 
     else if(i < 0) return 0; 
  if(~dp[i][sum][can][zer] && can) return dp[i][sum][can][zer] ; 
     int j = n - 1 - i; 
     ll ans = 0ll; 
     int a = k[j] - '0'; 
 for(int dig = 0; dig <= ((can)?9:a) ; dig++){
      

 ans = (ans + 
  solve(i- 1, (sum + dig)%d, (can||(dig < a)), (zer&&(dig == 0)) ))%M; 

   }
   return dp[i][sum][can][zer] = ans; 
}

int main() {
	ios_base::sync_with_stdio(false); 
    cin.tie(NULL); cout.tie(NULL); 

    cin>>k; 
    cin>>d; 
    memset(dp, - 1, sizeof(dp)); 
    n = k.length(); 
    cout<<solve(n - 1, 0,0,1); 

}