#include <bits/stdc++.h>
using namespace std;

int main() {
	int n,q; cin >> n >> q;
	vector <string> v;
	vector <vector <int> > pref(n+1, vector <int>(26,0)); // pref[i][j] -> it means that cumulative frquency of characters from 'a' to 'z' is being stored till ith index
	for(int i = 0; i < n; i++) {
		string s; cin >> s;
		v.push_back(s);
		
		for(int j = 0; j < s.length(); j++) {
			pref[i+1][s[j]-'a']++;
		}
	}
	
	for(int i = 2; i < n+1; i++) {
		for(int j = 0; j < 26; j++) pref[i][j] += pref[i-1][j];
	}
	
	while(q--) {
		int l,r,k; cin >> l >> r >> k;
		int cnt = 0;
		char op;
		for(int i = 0; i < 26; i++) {
			cnt += pref[r][i] - pref[l-1][i];
			if(cnt >= k) {
			    op = i+97;
			    break;
			}
		}
		cout << op << "\n";
	}
	
}