n,K=map(int,input().split()) T=input() q=[0]*n+[1] for i in reversed(range(n)): c=0 if i+1<=n and 1<=int(T[i:i+1])<=26 and T[i]!="0": c+=q[i+1] if i+2<=n and 1<=int(T[i:i+2])<=26 and T[i]!="0": c+=q[i+2] q[i]=c q[i]=min(q[i],10**18) S=[] l=0 while l=n: print(len(S)) c=q[l+1] if K<=c: S+=[int(T[l:l+1])] l+=1 continue K-=c c=q[l+2] S+=[int(T[l:l+2])] l+=2 print("".join(chr(v-1+ord("a")) for v in S))