N,Q = map(int,input().split()) S = input() dat = [[0] * 26 for _ in range(N + 1)] for i in range(1,N + 1): a = ord(S[i-1]) - ord('a') dat[i][a] += 1 for j in range(26): dat[i][j] += dat[i-1][j] u = [0] * 26 for _ in range(Q): l,r,x = map(int,input().split()) for i in range(26): u[i] = dat[r][i] - dat[l-1][i] i = 0 s = 0 while s < x: s += u[i] i += 1 print(chr(i-1 + ord('a')))