func_code_string: #include <bits/stdc++.h>   using namespace std;   int m;   void Add(int &a, int b) {     a += b;     if (a >= m) a -= m;   }   int dp[1010][110][2];   int main() {     int n, k;     while (scanf( %d%d%d , &n, &k, &m) == 3) {       memset(dp, 0, sizeof(dp));       dp[0][0][0] = 1;       long long tmp = 1;       for (int i = 0; i < n; i++) {         for (int j = 0; j < k; j++)           for (int x = 0; x < 2; x++) {             if (dp[i][j][x] == 0) continue;             for (int y = 0; y < 10; y++) {               if (i == n - 1 && y == 0) continue;               int nj = (y * tmp % k + j) % k;               int nx = x;               if (nj == 0 && (y > 0 || j > 0)) nx = 1;               Add(dp[i + 1][nj][nx], dp[i][j][x]);             }           }         tmp = tmp * 10 % k;       }       int ans = 0;       for (int j = 0; j < k; j++) Add(ans, dp[n][j][1]);       printf( %d n , ans);     }     return 0;   }   