#include <bits/stdc++.h>
using namespace std;
int cnt[2][105];
int n, k, m;
inline void add(int &a, int b) { a = (a + b) % m; }
inline long long get(int b) {
  b--;
  if (b < 0) return 1;
  long long a = 10, r = 1;
  while (b) {
    if (b & 1) r = r * a % m;
    a = a * a % m;
    b >>= 1;
  }
  return r * 9 % m;
}
int main() {
  scanf("%d %d %d", &n, &k, &m);
  int *now = cnt[0], *pre = cnt[1];
  int ans = 0;
  for (int i = 0; i < 10; i++) {
    !i || i % k ? add(now[i % k], 1) : add(ans, 1 * get(n - 1));
  }
  int t = 1;
  for (int u = 2; u <= n; u++) {
    for (int i = 0; i < k; i++) pre[i] = now[i];
    t = t * 10 % k;
    for (int v = 0; v < k; v++) {
      for (int i = 1; i < 10; i++) {
        (v + i * t) % k ? add(now[(v + i * t) % k], pre[v])
                        : add(ans, get(n - u) * pre[v] % m);
      }
    }
  }
  printf("%d\n", (ans + m) % m);
}
