import sys #sys.setrecursionlimit(10 ** 6) INF = float('inf') #10**20に変えるのもあり MOD = 10**9 + 7 MOD2 = 998244353 def solve(): def II(): return int(sys.stdin.readline()) def LI(): return list(map(int, sys.stdin.readline().split())) def LC(): return list(input()) def IC(): return [int(c) for c in input()] def MI(): return map(int, sys.stdin.readline().split()) Alpha = {} for i in range(97, 123): Alpha[chr(i)] = i - 97 Alpha[i-97] = chr(i) N,Q = MI() S = LC() Scum = [[0]*26 for _ in range(N+1)] for n,s in enumerate(S): for i in range(26): Scum[n+1][i] += Scum[n][i] Scum[n+1][Alpha[s]] += 1 from pprint import pprint #pprint(Scum) from copy import deepcopy for q in range(Q): L,R,X = MI() L-=1 TmpR = deepcopy(Scum[R]) TmpL = deepcopy(Scum[L]) #print(TmpL) for i in range(26): TmpR[i] =TmpR[i] -TmpL[i] CharNum = 0 #print(TmpR) for i in range(26): CharNum += TmpR[i] if(CharNum >= X): #print(i) print(Alpha[i]) break return solve()