#include <bits/stdc++.h>

using namespace std;

int n, m;
long long int dp(int bloki, int blokj, vector<vector<long long int>> brljudi)
{
    long long int maxbr=LLONG_MAX;
    long long int resenje[n][m];
    resenje[0][0]=brljudi[0][0];
    brljudi[bloki][blokj]=maxbr;
    int i=1; int j=1;
    while(i<n)
    {
        long long int xi=resenje[i-1][0];
        if(brljudi[i][0]==maxbr)
        {
            for(i; i<n; i++)
            {
                resenje[i][0]=maxbr;
            }
        }
        else
        {
            resenje[i][0]=xi+brljudi[i][0];
        }
        i++;
    }
    while(j<m)
    {
        long long int xj=resenje[0][j-1];
        if(brljudi[0][j]==maxbr)
        {
            for(j; j<m; j++)
            {
                resenje[0][j]=maxbr;
            }
        }
        else
        {
            resenje[0][j]=xj+brljudi[0][j];
        }
        j++;
    }
    for(i=1; i<n; i++)
    {
        for(j=1; j<m; j++)
        {
            if(brljudi[i][j]==maxbr) resenje[i][j]=maxbr;
            else if(resenje[i][j-1]<resenje[i-1][j]) resenje[i][j]=resenje[i][j-1]+brljudi[i][j];
            else resenje[i][j]=resenje[i-1][j]+brljudi[i][j];
        }
    }
    return resenje[n-1][m-1];
}



int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    int br;
    cin>>n>>m;
    vector<vector<long long int>> brljudi(n);
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<m; j++)
        {
            cin>>br;
            brljudi[i].push_back(br);
        }
    }
    int q, bloki, blokj;
    cin>>q;
    for(int i=0; i<q; i++)
    {
        cin>>bloki>>blokj;
        long long int resenje = dp(bloki-1, blokj-1, brljudi);
        cout<<resenje<<"\n";
    }
}