#include <iostream>
#include <fstream>
using namespace std;
int m[501][501];
int r[11][501][501];
int p[500];
int main() {
ifstream fin("plantatie.in");
ofstream fout("plantatie.out");
int n, i, j, q, g, l, c, k, i1, i2, j1, j2, d;
fin >> n >> q;
for (i = 1; i <= n; i++) {
for (j = 1; j <= n; j++) {
fin >> m[i][j];
r[0][i][j]=m[i][j];
}
}
for (i = 2; i <= n; i++) {
p[i] = p[i/2] + 1;
}
for (g = 1; (1<<g) <= n ; g++) {
for (i = (1<<g); i <= n; i++) {
for (j = (1<<g); j <= n; j++) {
r[g][i][j] = max(r[g-1][i][j],max(r[g-1][i-(1<<(g-1))][j-(1<<(g-1))], max(r[g-1][i-(1<<(g-1))][j],r[g-1][i][j-(1<<(g-1))])));
// fout<<r[g][i][j]<<' ';
}
// fout<<'\n';
}
//fout<<"\n\n";
}
for (i = 1; i <= q; i++) {
fin>>l>>c>>k;
i1=l;
j1=c;
i2=l+k-1;
j2=c+k-1;
d=p[k];
fout<<max(r[d][i2][j2],max(r[d][i1+(1<<d)][j1+(1<<d)],max(r[d][i1+(1<<d)][j2],r[d][i2][j1+(1<<d)])))<<'\n';
}
}