#include <bits/stdc++.h>
using namespace std;
ifstream fin ("struti.in");
ofstream fout ("struti.out");
const short DIM = 500;
short mat[DIM][DIM];
short n, m, q, a, b, minn;
int sol;
short lg2[DIM], rmq[DIM][9][DIM][9], RMQ[DIM][9][DIM][9];
void calc_log2(){
lg2[1]=0;
for(short i=2; i < DIM; i++)
lg2[i] = lg2[i>>1] + 1;
}
void calc_rmq(){
short lgN = lg2[n], lgM = lg2[m], ii, jj;
//init
for(short i=1; i<=n; i++){
for(short j=1; j<=m; j++)
rmq[i][0][j][0] = RMQ[i][0][j][0] = mat[i][j];
for(short pj=1; pj<=lgM; pj++) //mergem pana la log2(m)
for(short j=1; (jj=j+(1<<(pj-1))) <= m; j++) //jj <= m
rmq[i][0][j][pj] = min(rmq[i][0][j][pj-1], rmq[i][0][jj][pj-1]),
RMQ[i][0][j][pj] = max(RMQ[i][0][j][pj-1], RMQ[i][0][jj][pj-1]);
}
for(short pi=1; pi<=lgN; pi++) //mergem pana la log2(n)
for(short i=1; (ii=i+(1<<(pi-1))) <= n; i++) //ii <= n
for(short pj=0; pj<=lgM; pj++) //mergem pana la log2(m)
for(short j=1; j <= m; j++) //mergem pana la m
rmq[i][pi][j][pj] = min(rmq[i][pi-1][j][pj], rmq[ii][pi-1][j][pj]),
RMQ[i][pi][j][pj] = max(RMQ[i][pi-1][j][pj], RMQ[ii][pj-1][j][pj]);
}
short _min(short a, short b, short c, short d){
return min(a, min(b, min(c, d)));
}
short getMin(short i, short j, short ii, short jj){
short pi = lg2[ii - i + 1];
short pj = lg2[jj - j + 1];
ii = ii - (1<<pi) + 1;
jj = jj - (1<<pj) + 1;
return _min(
rmq[i][pi][j][pj],
rmq[i][pi][jj][pj],
rmq[ii][pi][j][pj],
rmq[ii][pi][jj][pj]
);
}
short _max(short a, short b, short c, short d){
return max(a, max(b, max(c, d)));
}
short getMax(short i, short j, short ii, short jj){
short pi = lg2[ii - i + 1];
short pj = lg2[jj - j + 1];
ii = ii - (1<<pi) + 1;
jj = jj - (1<<pj) + 1;
return _max(
RMQ[i][pi][j][pj],
RMQ[i][pi][jj][pj],
RMQ[ii][pi][j][pj],
RMQ[ii][pi][jj][pj]
);
}
void solve(short a, short b){
short ii, jj, mn, mx;
for(short i=1; i<=n-a+1; i++)
for(short j=1; j<=m-b+1; j++){
ii = i + a - 1;
jj = j + b - 1;
mn = getMin(i, j, ii, jj);
mx = getMax(i, j, ii, jj);
if(mx - mn < minn){
minn = mx - mn;
sol=1;
}else if(mx - mn == minn)
sol++;
}
}
signed main (){
fin>>n>>m>>q;
for(short i=1; i<=n; i++)
for(short j=1; j<=m; j++)
fin>>mat[i][j];
calc_log2();
calc_rmq();
while(q--){
fin>>a>>b;
minn = 10050; sol=0;
solve(a, b);
if(a != b)
solve(b, a);
fout<<minn<<" "<<sol<<"\n";
}
return 0;
}