#include <fstream>
#include <cstring>
using namespace std;
ofstream fout("diviz.out");
ifstream fin("diviz.in");
const int NMAX = 205;
const int KMAX = 105;
const int MOD = 30103;
int A, B, K, LG, stare = 1, SOLFINAL;
int First[NMAX][10], FirstMod[KMAX][10], PD[2][NMAX][KMAX], Sol[KMAX];
char N[NMAX];
int main()
{
fin >> K >> A >> B >> N;
LG = strlen(N);
for(int i = LG - 1; i >= 0; i--) {
for(int cfr = 0; cfr <= 9; cfr++)
First[i+1][cfr] = First[i+2][cfr];
First[i+1][N[i] - '0'] = i + 1;
}
for(int cfr = 1; cfr <= 9; cfr++) {
if(First[1][cfr]) {
PD[0][First[1][cfr]][(N[First[1][cfr] - 1] - '0') % K]++;
if(cfr % K == 0)
Sol[1]++;
}
}
for(int i = 0; i <= K - 1; i++)
for(int cfr = 0; cfr <= 9; cfr++)
FirstMod[i][cfr] = (i * 10 + cfr) % K;
for(int currentLG = 2; currentLG <= B; currentLG++) {
for(int i = currentLG - 1; i <= LG; i++)
for(int r = 0; r <= K - 1; r++)
if(PD[!stare][i][r])
for(int cfr = 0; cfr <= 9; cfr++)
if(First[i + 1][cfr]) {
PD[stare][First[i + 1][cfr]][FirstMod[r][cfr]] = (PD[stare][First[i + 1][cfr]][FirstMod[r][cfr]] + PD[!stare][i][r]) % MOD;
if(!FirstMod[r][cfr]) Sol[currentLG] = (Sol[currentLG] + PD[!stare][i][r]) % MOD; }
stare =! stare; // oh fuck no
memset(PD[stare], 0, sizeof(PD[stare]));
}
for(int i = A; i <= B; i++)
SOLFINAL = (SOLFINAL + Sol[i]) % MOD;
fout << SOLFINAL << '\n';
return 0;
}