#include <bits/stdc++.h>
using namespace std;
const int N = 1005;
long long ten[N], dp[N][100][2];
long long n, k, m;
void add(long long &x, long long y) {
  x += y;
  if (x >= m) x -= m;
}
int main() {
  while (cin >> n >> k >> m) {
    ten[0] = 1 % m;
    for (int i = 1; i < N; i++) ten[i] = (ten[i - 1] * 10LL) % k;
    memset(dp, 0, sizeof dp);
    dp[0][0][0] = 1;
    for (int i = 0; i < n; i++) {
      for (int j = 0; j < k; j++) {
        for (int z = 0; z < 10; z++) {
          if (i == n - 1 && z == 0) continue;
          long long now = (z * ten[i] + j) % k;
          if (now == 0 && z) {
            add(dp[i + 1][now][1], dp[i][j][0]);
          } else
            add(dp[i + 1][now][0], dp[i][j][0]);
          add(dp[i + 1][now][1], dp[i][j][1]);
        }
      }
    }
    long long ans = 0;
    for (int i = 0; i < k; i++) ans += dp[n][i][1];
    cout << ans % m << endl;
  }
  return 0;
}
