#include<iostream>
#include<cmath>
#include<vector>
#include<algorithm>
using namespace std;

vector<int> rekur(int n) {
    if (n==1) {
        return {0,1,2,3,4,5,6,7,8,9};
    }
    vector<int> predchozi = rekur(n-1);
    for (int x = 0; x < pow(10,n-1);x++) {
        for (int y = 1; y < 10; y++) {
            predchozi.push_back(predchozi[x]+y*pow(10,n-1));
        }
    }
    return predchozi;
}

int main() {
    int k, p;
    cin >> k >> p;
    int vysl = -1;
    vector<int> moznosti = rekur(k/2+k%2);
    for (auto& x: moznosti) {
        string s = to_string(x);
        string s2(s);
        string s3(s);
        s3.erase(s3.end() - 1);
        for (int i = s.size() - 1; i >= 0; i--) {
            s2 += s[i];
            s3 += s[i];
        }
        if (s2.size() <= k) {
            if (stoi(s2)%p==0){
                vysl++;
                vysl = vysl%1000000007;
            }
        }
        if (stoi(s3)%p==0){
            vysl++;
            vysl = vysl%1000000007;
        }
    }
    cout << vysl << '\n';
    return 0;
}