#include<bits/stdc++.h>
#define MAXN 20
#define MAXM 1024
#define MOD 998244353
using namespace std;
typedef long long ll;
int k,f[MAXN][2][2][MAXM];
ll dp[MAXN][2][2][MAXM];
inline ll clac(string S){
memset(f,0,sizeof(f));
memset(dp,0,sizeof(dp));
ll ans=0;
f[0][0][0][0]=1;
for(size_t o=0;o<S.size();++o){
for(int x=0;x<=1;++x){
for(int y=0;y<=1;++y){
for(int bit=0;bit<1024;++bit){
if(f[o][x][y][bit]){
int cnt=f[o][x][y][bit];
ll sum=dp[o][x][y][bit];
int limit=S[o]-'0';
if(x){
limit=9;
}
for(int i=0;i<=limit;++i){
int nxtbit=bit;
if(y||i){
nxtbit|=(1<<i);
}
(f[o+1][x||(i<limit)][y||i][nxtbit]+=cnt)%=MOD;
(dp[o+1][x||(i<limit)][y||i][nxtbit]+=cnt*i+sum*10)%=MOD;
}
}
}
}
}
}
for(int x=0;x<=1;++x){
for(int y=0;y<=1;++y){
for(int i=0;i<1024;++i){
if(__builtin_popcount(i)<=k){
(ans+=dp[S.size()-1][x][y][i])%=MOD;
}
}
}
}
return ans;
}
int main(){
ll l,r;
scanf("%lld %lld %d",&l,&r,&k);
ll x=clac(to_string(r)),y=clac(to_string(l-1));
printf("%lld",((x-y)%MOD+MOD)%MOD);
return 0;
}