S=input() K=int(input()) N=len(S) dp=[[[[0]*10 for j in range(10)] for q in range(3) ]for k in range(30)] cp=[[[[0]*10 for j in range(10)] for q in range(3) ]for k in range(30)] v=[[[0]*10 for q in range(2)] for k in range(30)] last=[-1]*10 for i in range(N-1,-1,-1): x=int(S[i]) if last[x]==-1: last[x]=i mod=998244353 for x in range(10): h=[0]*N u=[0]*N g=[0]*10 pos=last[x] if pos==-1: continue used=[False]*10 for j in range(pos+1,N): used[int(S[j])]=True for i in range(N): y=int(S[i]) if used[y]==False: used[y]=True h[i]+=10 e=g[y] for j in range(e,i): h[i]+=10*h[j]+y*u[j] u[i]+=u[j] h[i]%=mod u[i]%=mod g[y]=i used=[False]*10 for i in range(N-1,-1,-1): y=int(S[i]) if used[y]==True: continue used[y]=True dp[0][0][x][y]=h[i] v[0][0][x]=sum(h) h=[0]*N u=[0]*N g=[0]*10 pos=last[x] if pos==-1: continue used=[False]*10 for j in range(pos+1,N): used[int(S[j])]=True for i in range(N): y=int(S[i]) if used[y]==False: used[y]=True u[i]+=1 h[i]+=y e=g[y] for j in range(e,i): h[i]+=10*h[j]+y*u[j] u[i]+=u[j] h[i]%=mod u[i]%=mod g[y]=i used=[False]*10 for i in range(N-1,-1,-1): y=int(S[i]) if used[y]==True: continue used[y]=True dp[0][1][x][y]=h[i] dp[0][2][x][y]=u[i] v[0][1][x]=sum(h) for k in range(1,30): for x in range(10): for y in range(10): for z in range(10): dp[k][0][x][y]+=dp[k-1][0][x][z]*dp[k-1][0][z][y] dp[k][0][x][y]%=mod dp[k][1][x][y]+=dp[k-1][1][x][z]*dp[k-1][0][z][y]+dp[k-1][2][x][z]*dp[k-1][1][z][y] dp[k][2][x][y]+=dp[k-1][2][x][z]*dp[k-1][2][z][y] dp[k][0][x][y]%=mod dp[k][1][x][y]%=mod dp[k][2][x][y]%=mod for x in range(10): v[k][0][x]+=v[k-1][0][x] v[k][1][x]+=v[k-1][1][x] for z in range(10): v[k][0][x]+=dp[k-1][0][x][z]*v[k-1][0][z] v[k][1][x]+=dp[k-1][1][x][z]*v[k-1][0][z]+dp[k-1][2][x][z]*v[k-1][1][z] v[k][0][x]%=mod v[k][1][x]%=mod h=[0]*N u=[0]*N g=[0]*10 used=[False]*10 for i in range(N): y=int(S[i]) if used[y]==False: used[y]=True h[i]+=y if y>0: u[i]+=1 e=g[y] for j in range(e,i): h[i]+=10*h[j]+y*u[j] u[i]+=u[j] h[i]%=mod u[i]%=mod g[y]=e result=sum(h) result%=mod A=[0]*10 B=[0]*10 used=[False]*10 for i in range(N-1,-1,-1): y=int(S[i]) if used[y]==True: continue used[y]=True A[y]=h[i] B[y]=u[i] for k in range(30): if ((K-1)>>k)&1: A2=[0]*10 B2=[0]*10 for x in range(10): result+=A[x]*v[k][0][x] result%=mod result+=B[x]*v[k][1][x] result%=mod for y in range(10): A2[y]+=A[x]*dp[k][0][x][y]+B[x]*dp[k][1][x][y] B2[y]+=B[x]*dp[k][2][x][y] A2[y]%=mod B2[y]%=mod A=A2[:] B=B2[:] result%=mod print(result)