#include <cstdio>
#include <vector>
#include <queue>
#include <stack>
#include <list>
#include <set>
#include <algorithm>
#include <utility>
#include <string>
#include <functional>
#include <sstream>
#include <fstream>
#include <iostream>
using namespace std;
#define FOR(i,a,b) for (i=a;i<=b;i++)
#define fori(it,v) for (it=(v).begin();it!=(v).end();it++)
#define pb push_back
#define mp make_pair
#define fs first
#define ss second
#define all(c) c.begin(),c.end()
#define pf push_front
#define popb pop_back
#define popf pop_front
short int a[10][1005][1005],b[10][1005][1005];
int put[20],log[1005],n,m;
int recmin(int k,int i,int j)
{
return min(a[k-1][i][j],a[k-1][i][j+put[k-1]]);
}
int recmax(int k,int i,int j)
{
return max(a[k-1][i][j],a[k-1][i][j+put[k-1]]);
}
int rmqmax(int i,int j,int x)
{
// printf("b[%d][%d-%d]=%d\n",i,j,x,max(b[log[x]][i][j],b[log[x]][i][j+x-put[log[x]]]));
return max(b[log[x]][i][j],b[log[x]][i][j+x-put[log[x]]]);
}
int rmqmin(int i,int j,int x)
{
// printf("a[%d][%d-%d]=%d\n",i,j,x,min(a[log[x]][i][j],a[log[x]][i][j+x-put[log[x]]]));
return min(a[log[x]][i][j],a[log[x]][i][j+x-put[log[x]]]);
}
pair<int,int> search(int x,int y)
{
pair<int,int>minim =mp(1<<30,0);
int i,j,k,maxv,minv;
FOR(i,1,m)
FOR(j,1,n)
for(int t=0;t<=1;t++,swap(x,y))
if(x+i-1<=m&&y+j-1<=n)
{
maxv=-1;
minv=1<<30;
FOR(k,i,i+x-1)
{
maxv=max(maxv,rmqmax(k,j,y));
minv=min(minv,rmqmin(k,j,y));
}
if (maxv-minv<minim.fs)
{
minim=mp(maxv-minv,0);
// printf("%d %d %d (%d %d)\n",minim.fs,i,j,x,y);
}
if (maxv-minv==minim.fs)
{
minim.ss++;
// printf("%d %d %d (%d %d)\n",minim.fs,i,j,x,y);
}
}
if (x==y)
minim.ss/=2;
return minim;
}
ifstream fin("struti.in");
string s;
istringstream in;
int main()
{
FILE *out;
int i,j,x,y,k,p;
out=fopen("struti.out","w");
getline(fin,s,'\0');
in.str(s);
in>>m>>n>>p;
// in>>m>>n>>p;
//printf("%d %d %d",n,m,p);
FOR(i,1,m)
{
FOR(j,1,n)
{
in>>a[0][i][j];
//printf("%d ",a[0][i][j]);
b[0][i][j]=a[0][i][j];
}
// printf("\n");
}
x=1;
y=0;
FOR(i,1,1004) //calc log si put
{
if (x==i)
{
x*=2;
y++;
}
log[i]=y-1;
// if (n!=4)
// {
// printf("WTFF!!!!!???:%d\n",i);
// return 0;
// }
}
// printf("---------------------\n");
// if (n!=4)
// printf("WWWWWWWWWWWWWWWW");
// else
// printf("%d\n",n);
/*// FOR(i,1,1000)
printf("%d ",log[i]);*/
put[0]=1;
for(i=1;i<=10;i++)
put[i]=put[i-1]*2;
//printf("%d\n",n-put[log[n]]+1);
FOR(i,1,m)
{
FOR(k,1,log[n])
FOR(j,1,n-put[k]+1)
{
// printf("a[%d][%d][%d]=%d\n",k,i,j,
a[k][i][j]=recmin(k,i,j);
b[k][i][j]=recmax(k,i,j);
}
}
int z;
FOR(i,1,p)
{
in>>x>>z;
pair<int,int> r=search(x,z);
fprintf(out,"%d %d\n",r.fs,r.ss);
}
fclose(out);
return 0;
}