#include <iostream>
#include <fstream>
using namespace std;
int m[501][501];
int r[11][501][501];
int p[11];
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];
}
}
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-(1>>(g-1))][j-(1>>(g-1))], max(r[g-1][i-(1<<(g-1))][j],r[g-1][i][j-(1>>(g-1))]+1));
}
}
}
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][i2-(1<<d)][j2-(1<<d)],max(r[d][i2-(1<<d)][j2],r[d][i2][j2-(1<<d)])))<<' ';
}
}