n, k = map(int, input().split()) k -= 1 s = [int(c) for c in input()] dp = [0] * (n + 1) dp[n] = 1 for i in range(n)[::-1]: if s[i] == 0: continue dp[i] = dp[i+1] if i + 2 <= n and 10 * s[i] + s[i+1] <= 26: dp[i] = min(dp[i] + dp[i+2], k + 1) ans = [] i = 0 while i < n: assert s[i] != 0 if dp[i+1] <= k: assert i + 2 <= n k -= dp[i+1] ans.append(chr(96 + 10 * s[i] + s[i+1])) i += 2 else: ans.append(chr(96 + s[i])) i += 1 print(''.join(ans))