Q=int(input()) v=[0]*200 for x in range(1,200): if x<10: v[x]=1 continue y=str(x) ans=True for i in range(1,len(y)): if int(y[i])=0: break if y==-1: M+=1 h=[1]*M l=M r=9*M for x in range(l,r+1): if v[x]==1: y=x break rest=y-sum(h) for i in range(M-1,-1,-1): c=min(9-h[i],rest) h[i]+=c rest-=c for i in range(len(h)): h[i]=str(h[i]) N=int(N) d=''.join(h) d=int(d) x=(d-N)//8 e=(d-N)%8 mod=998244353 result=pow(10,x,mod)-1+pow(10,x,mod)*((pow(10,N-x,mod)-1)*pow(9,-1,mod)+e) result%=mod print(result)