#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll Count(int N, ll C, int K, const string& S) {
string Cs = to_string(C);
int lenC = (int)Cs.size();
ll MOD = 1;
for (int i = 0; i < K; ++i) MOD *= 10;
vector<ll> dp(N + 1, 0);
dp[N] = 1;
for (int i = N - 1; i >= 0; --i) {
if (S[i] == '0') {
dp[i] = dp[i + 1]; // Only single '0' allowed
continue;
}
for (int j = i; j < N && j - i + 1 <= lenC; ++j) {
int length = j - i + 1;
string part = S.substr(i, length);
// Compare substring 'part' with 'C' string for partition validity
if (length < lenC || (length == lenC && part <= Cs)) {
dp[i] = (dp[i] + dp[j + 1]) % MOD;
} else {
break; // no need to check longer substrings
}
}
}
return dp[0];
}
int main() {
int N, K;
ll C;
string S;
cin >> N >> C >> K;
cin >> S;
cout << Count(N, C, K, S) << endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp0eXBlZGVmIGxvbmcgbG9uZyBsbDsKCmxsIENvdW50KGludCBOLCBsbCBDLCBpbnQgSywgY29uc3Qgc3RyaW5nJiBTKSB7CiAgICBzdHJpbmcgQ3MgPSB0b19zdHJpbmcoQyk7CiAgICBpbnQgbGVuQyA9IChpbnQpQ3Muc2l6ZSgpOwogICAgbGwgTU9EID0gMTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgSzsgKytpKSBNT0QgKj0gMTA7CgogICAgdmVjdG9yPGxsPiBkcChOICsgMSwgMCk7CiAgICBkcFtOXSA9IDE7CgogICAgZm9yIChpbnQgaSA9IE4gLSAxOyBpID49IDA7IC0taSkgewogICAgICAgIGlmIChTW2ldID09ICcwJykgewogICAgICAgICAgICBkcFtpXSA9IGRwW2kgKyAxXTsgLy8gT25seSBzaW5nbGUgJzAnIGFsbG93ZWQKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIGZvciAoaW50IGogPSBpOyBqIDwgTiAmJiBqIC0gaSArIDEgPD0gbGVuQzsgKytqKSB7CiAgICAgICAgICAgIGludCBsZW5ndGggPSBqIC0gaSArIDE7CiAgICAgICAgICAgIHN0cmluZyBwYXJ0ID0gUy5zdWJzdHIoaSwgbGVuZ3RoKTsKCiAgICAgICAgICAgIC8vIENvbXBhcmUgc3Vic3RyaW5nICdwYXJ0JyB3aXRoICdDJyBzdHJpbmcgZm9yIHBhcnRpdGlvbiB2YWxpZGl0eQogICAgICAgICAgICBpZiAobGVuZ3RoIDwgbGVuQyB8fCAobGVuZ3RoID09IGxlbkMgJiYgcGFydCA8PSBDcykpIHsKICAgICAgICAgICAgICAgIGRwW2ldID0gKGRwW2ldICsgZHBbaiArIDFdKSAlIE1PRDsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGJyZWFrOyAvLyBubyBuZWVkIHRvIGNoZWNrIGxvbmdlciBzdWJzdHJpbmdzCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gZHBbMF07Cn0KCmludCBtYWluKCkgewogICAgaW50IE4sIEs7CiAgICBsbCBDOwogICAgc3RyaW5nIFM7CiAgICBjaW4gPj4gTiA+PiBDID4+IEs7CiAgICBjaW4gPj4gUzsKICAgIGNvdXQgPDwgQ291bnQoTiwgQywgSywgUykgPDwgZW5kbDsKICAgIHJldHVybiAwOwp9Cg==