#include <bits/stdc++.h>
using namespace std;
const int N = 1000;
const int K = 100;
int n, k, m;
void add(int& a, int b) { a = (a + b) % m; }
int mul(int& a, int b) { return ((long long)a * b) % m; }
int cnt[N + 1][K + 1];
int main() {
  ios_base::sync_with_stdio(false);
  cin >> n >> k >> m;
  for (int d = 1; d <= 9; d++) {
    add(cnt[1][d % k], 1);
  }
  int e = 1;
  for (int len = 2; len <= n; len++) {
    e = 10 * e % k;
    for (int mod = 1; mod < k; mod++) {
      for (int d = (len == n) ? 1 : 0; d <= 9; d++) {
        add(cnt[len][(d * e + mod) % k], cnt[len - 1][mod]);
      }
    }
    for (int d = 1; d <= 9; d++) {
      add(cnt[len][(d * e + 0) % k], 1);
    }
  }
  vector<int> prefix(n);
  add(prefix[0], 1);
  add(prefix[1], 9);
  for (int len = 2; len < n; len++) {
    prefix[len] = mul(prefix[len - 1], 10);
  }
  int ans = 0;
  for (int len = 1; len <= n; len++) {
    add(ans, mul(prefix[n - len], cnt[len][0]));
  }
  cout << ans << endl;
  return 0;
}
