#include <bits/stdc++.h>
#define fi first
#define se second
#define int long long
using namespace std;
const long long oo=1e18;
const int mod=1e9+7;
const int base=31;
int Test=1;
bool bit(int mask,int i){return (mask>>i)&1;}
void home()
{
if(fopen("main.inp","r"))
freopen("main.inp","r",stdin),
freopen("main.out","w",stdout);
}
int n,m;
int maxR[2005][2005],dp[2005][2005];
int a[2005][2005],h[2005],L[2005],R[2005];
void Pha(int val)
{
for(int j=1;j<=m;j++)h[j]=0;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
if(a[i][j]>=val&&a[i][j]-val<=1)h[j]++;
else h[j]=0;
}
vector<int>cur;
for(int j=1;j<=m;j++)
{
while(cur.size()&&h[cur.back()]>=h[j])cur.pop_back();
if(cur.size())L[j]=cur.back();
else L[j]=0;
cur.push_back(j);
}
cur.clear();
for(int j=m;j>=1;j--)
{
while(cur.size()&&h[cur.back()]>=h[j])cur.pop_back();
if(cur.size())R[j]=cur.back();
else R[j]=m+1;
cur.push_back(j);
}
for(int j=1;j<=m;j++)maxR[i][h[j]]=max(maxR[i][h[j]],(R[j]-L[j]-1)*h[j]);
for(int j=i;j>=0;j--)maxR[i][j]=max(maxR[i][j],maxR[i][j+1]-maxR[i][j+1]/(j+1));
}
}
void Tcmduc_VOI26()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
cin>>a[i][j];
}
Pha(0);
Pha(1);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=i;j++)
maxR[i][j]=max(maxR[i][j],maxR[i-1][j-1]),
maxR[i][j]=max(maxR[i][j],maxR[i][j-1]);
}
int k;cin>>k;
while(k--)
{
int l,r;cin>>l>>r;
cout<<maxR[r][r-l+1]<<'\n';
}
}
signed main()
{
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);home();
while(Test--)Tcmduc_VOI26();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBpbnQgbG9uZyBsb25nCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGxvbmcgbG9uZyBvbz0xZTE4Owpjb25zdCBpbnQgbW9kPTFlOSs3Owpjb25zdCBpbnQgYmFzZT0zMTsKaW50IFRlc3Q9MTsKYm9vbCBiaXQoaW50IG1hc2ssaW50IGkpe3JldHVybiAobWFzaz4+aSkmMTt9CnZvaWQgaG9tZSgpCnsKICAgIGlmKGZvcGVuKCJtYWluLmlucCIsInIiKSkgCiAgICBmcmVvcGVuKCJtYWluLmlucCIsInIiLHN0ZGluKSwKICAgIGZyZW9wZW4oIm1haW4ub3V0IiwidyIsc3Rkb3V0KTsKfQppbnQgbixtOwppbnQgbWF4UlsyMDA1XVsyMDA1XSxkcFsyMDA1XVsyMDA1XTsKaW50IGFbMjAwNV1bMjAwNV0saFsyMDA1XSxMWzIwMDVdLFJbMjAwNV07CnZvaWQgUGhhKGludCB2YWwpCnsKICAgIGZvcihpbnQgaj0xO2o8PW07aisrKWhbal09MDsKICAgIGZvcihpbnQgaT0xO2k8PW47aSsrKQogICAgewogICAgICAgIGZvcihpbnQgaj0xO2o8PW07aisrKQogICAgICAgIHsKICAgICAgICAgICAgaWYoYVtpXVtqXT49dmFsJiZhW2ldW2pdLXZhbDw9MSloW2pdKys7CiAgICAgICAgICAgIGVsc2UgaFtqXT0wOwogICAgICAgIH0KICAgICAgICB2ZWN0b3I8aW50PmN1cjsKICAgICAgICBmb3IoaW50IGo9MTtqPD1tO2orKykKICAgICAgICB7CiAgICAgICAgICAgIHdoaWxlKGN1ci5zaXplKCkmJmhbY3VyLmJhY2soKV0+PWhbal0pY3VyLnBvcF9iYWNrKCk7CiAgICAgICAgICAgIGlmKGN1ci5zaXplKCkpTFtqXT1jdXIuYmFjaygpOwogICAgICAgICAgICBlbHNlIExbal09MDsKICAgICAgICAgICAgY3VyLnB1c2hfYmFjayhqKTsKICAgICAgICB9CiAgICAgICAgY3VyLmNsZWFyKCk7CiAgICAgICAgZm9yKGludCBqPW07aj49MTtqLS0pCiAgICAgICAgewogICAgICAgICAgICB3aGlsZShjdXIuc2l6ZSgpJiZoW2N1ci5iYWNrKCldPj1oW2pdKWN1ci5wb3BfYmFjaygpOwogICAgICAgICAgICBpZihjdXIuc2l6ZSgpKVJbal09Y3VyLmJhY2soKTsKICAgICAgICAgICAgZWxzZSBSW2pdPW0rMTsKICAgICAgICAgICAgY3VyLnB1c2hfYmFjayhqKTsKICAgICAgICB9CiAgICAgICAgZm9yKGludCBqPTE7ajw9bTtqKyspbWF4UltpXVtoW2pdXT1tYXgobWF4UltpXVtoW2pdXSwoUltqXS1MW2pdLTEpKmhbal0pOwogICAgICAgIGZvcihpbnQgaj1pO2o+PTA7ai0tKW1heFJbaV1bal09bWF4KG1heFJbaV1bal0sbWF4UltpXVtqKzFdLW1heFJbaV1baisxXS8oaisxKSk7CiAgICB9Cn0Kdm9pZCBUY21kdWNfVk9JMjYoKQp7CiAgICBjaW4+Pm4+Pm07CiAgICBmb3IoaW50IGk9MTtpPD1uO2krKykKICAgIHsKICAgICAgICBmb3IoaW50IGo9MTtqPD1tO2orKykKICAgICAgICAgICAgY2luPj5hW2ldW2pdOwogICAgfQogICAgUGhhKDApOwogICAgUGhhKDEpOwogICAgZm9yKGludCBpPTE7aTw9bjtpKyspCiAgICB7CiAgICAgICAgZm9yKGludCBqPTE7ajw9aTtqKyspCiAgICAgICAgICAgIG1heFJbaV1bal09bWF4KG1heFJbaV1bal0sbWF4UltpLTFdW2otMV0pLAogICAgICAgICAgICBtYXhSW2ldW2pdPW1heChtYXhSW2ldW2pdLG1heFJbaV1bai0xXSk7CiAgICB9CiAgICBpbnQgaztjaW4+Pms7CiAgICB3aGlsZShrLS0pCiAgICB7CiAgICAgICAgaW50IGwscjtjaW4+Pmw+PnI7CiAgICAgICAgY291dDw8bWF4UltyXVtyLWwrMV08PCdcbic7CiAgICB9Cn0Kc2lnbmVkIG1haW4oKQp7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApO2Npbi50aWUoMCk7Y291dC50aWUoMCk7aG9tZSgpOwogICAgd2hpbGUoVGVzdC0tKVRjbWR1Y19WT0kyNigpOwogICAgcmV0dXJuIDA7Cn0K