from string import ascii_lowercase import sys import os IS_LOCAL = os.environ.get("LOCAL") == "true" def debug(*args, sep=" ", end="\n", flush=False) -> None: if IS_LOCAL: print(*args, sep=sep, end=end, file=sys.stderr, flush=flush) def yn(flg: bool) -> bool: print('Yes' if flg else 'No') return flg def main(): readline = sys.stdin.readline inf = 10**18 + 9 N, K = map(int, readline().split()) K -= 1 S = readline().strip() dp = [0] * (N + 1) dp[N] = 1 for i in range(N - 1, -1, -1): c = int(S[i]) if c == 0: continue dp[i] = dp[i + 1] if c <= 2 and i + 1 < N and 1 <= int(S[i:i + 2]) <= 26: dp[i] += dp[i + 2] dp[i] = min(dp[i], inf) debug(dp) ans = [] i = 0 while i < N: c = int(S[i]) if c <= 2 and i + 1 < N and 1 <= int(S[i:i + 2]) <= 26 and K >= dp[i + 1]: K -= dp[i + 1] c = int(S[i:i + 2]) i += 2 else: i += 1 ans.append(ascii_lowercase[c - 1]) print("".join(ans)) if __name__ == "__main__": main()