#include <bits/stdc++.h>

using namespace std;

int n,m,q;

long long int D[10500][10500];
long long int prefiksnaD[10500][10500];

void resi(){

    for(int i = 1; i <= n; i++){
        for(int j = 1; j <= m; j++){
            if(i == 1 && j == 1){
                prefiksnaD[i][j] = D[i][j];
            }

            else if(i > 1 && j == 1){
                prefiksnaD[i][j] = prefiksnaD[i - 1][j] + D[i][j];
            }

            else if(i == 1 && j > 1){
                prefiksnaD[i][j] = prefiksnaD[i][j-1] + D[i][j];
            }
            /// ovo je slucaj kada gledamo koje je bolje pomeranje dole ili desno a da nije na ivici ...
            else if(i > 1 && j > 1){
                if(prefiksnaD[i][j-1] >= prefiksnaD[i-1][j]){
                    prefiksnaD[i][j] = prefiksnaD[i-1][j] + D[i][j];
                }
                else{
                    prefiksnaD[i][j] = prefiksnaD[i][j-1] + D[i][j];
                }
            }
        }
    }

}

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);

    cin >> n >> m;

    for(int i = 1; i <= n; i++){
        for(int j = 1; j <= m; j++){
            cin >> D[i][j];
        }
    }

    cin >> q;

    for(int i = 0; i < q; i++){
        int xi, yi;
        cin >> xi >> yi;
        long long int pom = D[xi][yi];
        D[xi][yi] = 1e17;
        resi();
        D[xi][yi] = pom;
        cout << prefiksnaD[n][m] << endl;

    }

    return 0;
}