def TASIZAN(a,b): n=len(a) b=[0]*(n-len(str(b)))+list(map(int,str(b))) c=[0]*(n+1) for i in reversed(range(n)): c[i+1]+=a[i]+b[i] c[i]+=c[i+1]//10 c[i+1]%=10 return c def HIKIZAN(a,b): n=len(a) b=[0]*(n-len(str(b)))+list(map(int,str(b))) c=[0]*n for i in reversed(range(n)): if a[i]0 else 0 k-=len(pa) a+=pb[-1]*(k//len(pb)) k%=len(pb) if k!=0: a+=pb[k-1] print(a%M) continue else: a=pa[-1] if len(pa)>0 else 0 k=HIKIZAN(k,len(pa)) p1,p2=WARIZAN(k,len(pb)) p3,p4=WARIZAN(p1,M) a+=pb[-1]*p4 if p2!=0: a+=pb[p2-1] print(a%M)