#include <bits/stdc++.h>
long long dp[1001][102];
int main(int argc, char* argv[]) {
  int h, i, j, n, k, m;
  scanf("%d %d %d", &n, &k, &m);
  dp[1][k] = 1;
  for (i = 1; i < 10; i++) {
    dp[1][i % k] += 1;
    if (dp[1][i % k] >= m) {
      dp[1][i % k] -= m;
    }
  }
  long long p = 1;
  for (h = 2; h <= n; h++) {
    p *= 10;
    p %= k;
    int istart = (h == n) ? 1 : 0;
    for (i = istart; i < 10; i++) {
      if (i) {
        int des = (i * p + k) % k;
        dp[h][des] += dp[h - 1][k];
        if (dp[h][des] >= m) dp[h][des] -= m;
      } else {
        dp[h][k] += dp[h - 1][k];
      }
      dp[h][0] += dp[h - 1][0];
      if (dp[h][0] >= m) {
        dp[h][0] -= m;
      }
      for (j = 1; j < k; j++) {
        int des = (i * p + j) % k;
        dp[h][des] += dp[h - 1][j];
        if (dp[h][des] >= m) {
          dp[h][des] -= m;
        }
      }
    }
  }
  printf("%I64d\n", dp[n][0]);
  return 0;
}
