#include #include using namespace std; long long dp[10001][20001]; int main(){ string s; int M; cin >> s >> M; long long ans=0; int mod=1000000007; int size = s.size(); memset(dp,0,sizeof(dp)); for( int i = 0 ; i < size; i++ ){ if( s[i]=='0' ){ ans += 1; } else{ dp[i+1][(s[i]-'0')%M]+=1; } for( int m = 0 ; m < M; m++ ){ int n = (m*10+s[i]-'0')%M; dp[i+1][m]+=dp[i][m]; dp[i+1][m]%=mod; dp[i+1][n]+=dp[i][m]; dp[i+1][n]%=mod; } //for( int m=0; m