N,K=map(int,input().split()) t = input() inf = 10**20 dp = [0 for _ in range(N+1)] dp[-1] = 1 for i in range(N-1,-1,-1): if t[i] == "0": continue if i+2<=N and int(t[i]+t[i+1])<=26: dp[i] += dp[i+2] dp[i] += dp[i+1] dp[i] = min(dp[i],inf) # 最初から決める i = 0 ans=[] while i < N: if i+2 <= N and t[i+1] == "0": ans.append(int(t[i]+t[i+1])) i+=2 if i+2<=N and int(t[i]+t[i+1])<=26: if dp[i+1] < K: K-=dp[i+1] ans.append(int(t[i]+t[i+1])) i+=2 else: ans.append(int(t[i])) i+=1 else: ans.append(int(t[i])) i+=1 print("".join([chr(96+a) for a in ans]))