#include using namespace std; typedef long long ll; int main() { ll k, p; cin >> k >> p; vector> v(k+1, vector(p, 0)); v[1][0] = 1; for (int i = 1; i <= 9; i++) { ++v[1][i % p]; if (k > 1) ++v[2][(11*i) % p]; } for (int i = 2; i < k; i++) { for (int shit = 1; shit <= i / 2; shit++) { for (int s = 1; s <= 9; s++) { int e = s; for (int h = 0; h < i + shit; h++) { e = (e * 10) % p; } for (int jc = 0; jc < p; jc++) { int j = jc; for (int h = 0; h < shit; h++) { j = (j * 10) %p; } v[i+1][(j + e + s)%p] = (v[i+1][(j + e + s)%p] + v[i+1 - (2*shit)][j]) % 1'000'000'007LL; } } } } for (const auto & l : v) { for (const auto & val : l) { cout << val << " "; } cout << endl; } ll res = 0; for (int i = 0; i <= k; i++) { res = (res + v[i][0]) % 1'000'000'007; } cout << res << endl; }