#include <stdio.h>
#include <string.h>
#define FOR(i,s,d) for(i=(s);i<(d);++i)
#define f(c) (c-'0')
#define MOD 30103
char s[256];
int A[2][256][128],k,l,u,n,sol,last[10];
int main()
{
freopen("diviz.in","r",stdin);
freopen("diviz.out","w",stdout);
int i,j,ii,t,x;
scanf("%d %d %d",&k,&l,&u);
scanf("%s",s);
n=strlen(s);
FOR(i,0,n)
{
if(f(s[i]))
A[1][i][f(s[i])%k]=1;
if(l==1)
sol+=A[1][i][0];
if(sol>=MOD)
sol-=MOD;
}
FOR(ii,1,u)
{
memset(last,-1,sizeof(last));
memcpy(A[0],A[1],sizeof(A[1]));
memset(A[1],0,sizeof(A[1]));
FOR(i,0,n)
{
x=f(s[i])%k;
FOR(t,0,10)
if(last[t]!=-1)
{
FOR(j,0,k)
{
if(last[t]!=-1&&A[0][last[t]][j])
{
A[1][i][x]+=A[0][last[t]][j];
// A[1][i][(j*10+f(s[i]))%k]+=A[0][last[t]][j];
if( A[1][i][x]>=MOD)
A[1][i][x]-=MOD;
}
x=x+10;
while(x>=k)
x-=k;
}
}
last[f(s[i])]=i;
}
if(l<=ii+1&&ii<u)
FOR(t,0,10)
if(last[t]!=-1)
{
sol+=A[1][last[t]][0];
if(sol>=MOD)
sol-=MOD;
}
}
printf("%d\n",sol);
return 0;
}