#include <bits/stdc++.h>

using namespace std;
long long const maxlonglong=9223372036854775807;



int main()
{
    ios::sync_with_stdio(false);

    int m, n, z, zmin,q, qq1, qq2;
    cin >> n >> m;
    long long mapa[n][m], mapa1[n][m];

    for(int i=0; i<n; i++){
        for(int j=0; j<m; j++){
            cin >> mapa[i][j];
            mapa1[i][j]=mapa[i][j];
        }
    }
    cin >> q;
    vector<int> q1(q), q2(q);
    for(int i=0; i<q; i++){
        cin >> qq1 >> qq2;
        q1[i]=qq1-1;
        q2[i]=qq2-1;
    }
    for(int i=0; i<q; i++){
        mapa1[q1[i]][q2[i]]=maxlonglong;
        for(int j=0; j<m-1; j++){
            if(mapa1[0][1+j]!=maxlonglong && mapa1[0][j]!=maxlonglong)
                mapa1[0][j+1]+=mapa1[0][j];
            else
                mapa1[0][1+j]=maxlonglong;
        }
        for(int j=0; j<n-1; j++){
            if(mapa1[1+j][0]!=maxlonglong && mapa1[j][0]!=maxlonglong)
                mapa1[j+1][0]+=mapa1[j][0];
            else
                mapa1[1+j][0]=maxlonglong;
        }
        for(int z=1; z<n; z++){
            for(int j=0; j<m-1; j++){
                if(mapa1[z][1+j]!=maxlonglong)
                mapa1[z][j+1]+=min(mapa1[z][j],mapa1[z-1][j+1]);



            }
        }
        cout << mapa1[n-1][m-1] << endl;
        for(int i=0; i<n; i++){
        for(int j=0; j<m; j++){

            mapa1[i][j]=mapa[i][j];
        }
    }

    }

    return 0;
}