#include<iostream>
#include<limits>
#include<queue>
using namespace std;
const int beskonacno=1000000001;
int put[102][102];
int doha[102][102];

int putanja(int i,int j){
int minimalni=put[i-1][j-1];
for(int a=i-1;a<i+1;a++){
    for(int b=j-1;b<j+1;b++){
        if(minimalni<=put[i][j])minimalni=put[i][j];
    }
}
return minimalni;
}
void resi(int n,int m,int x,int y){
queue<pair<int,int>> red;
red.push(make_pair(0,0));
while(!red.empty()){
    pair<int,int> p;
    p=red.front();
    red.pop();
    int k=p.first;
    int l=p.second;
    put[k][l]=putanja(k,l)+doha[k][l];
    red.push(make_pair(k,l+1));
    red.push(make_pair((k+1),l));
}
cout<<put[n][m]<<endl;
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n,m;
cin>>n>>m;
for(int i=0;i<n+2;i++){
    for(int j=0;j<m+2;j++){
        put[i][j]=beskonacno;
        if(i>0&&i<n+1&&j>0&&j<m+1){
            int x;
            cin>>x;
            doha[i][j]=x;
        }

    }
}
put[1][1]=0;
int q;
cin>>q;
for(int i=0;i<q;i++){
    int x,y;
    cin>>x>>y;
    resi(n,m,x,y);
}
return 0;
}