#include <limits.h>
#include <stdio.h>
long long int R;
long long int C;
long long int min(long long int x, long long int y);
long long int minCost(long long int cost[R][C], long long int m, long long int n)
{
    if (n < 0 || m < 0)
        return INT_MAX;
    else if (m == 0 && n == 0)
        return cost[m][n];
    else
        return cost[m][n]
               + min(
                     minCost(cost, m - 1, n),
                     minCost(cost, m, n - 1));
}
long long int min(long long int x, long long int y)
{
    if (x < y)
        return x;
    else
        return y;
}
int main()
{
    long long int n, m, i, j;
    scanf("%lld%lld", &n, &m);
    R = n;
    C = m;
    long long int cost[n][m];
    for (i = 0; i < n; i++){
        for (j = 0; j < m; j++){
            scanf("%lld", &cost[i][j]);
        }
    }
    long long int Q;
    scanf("%lld", &Q);
    long long int x[Q], y[Q];
    for(i = 0; i < Q; i++)
    {
    	scanf("%lld%lld", &x[i], &y[i]);
        x[i]--;
        y[i]--;
    }
    long long int pom;
    for (i = 0; i < Q; i++){

        pom = cost[x[i]][y[i]];
        cost[x[i]][y[i]] = INT_MAX;
        printf("\n%lld", minCost(cost, n-1, m-1));
        cost[x[i]][y[i]] = pom;
    }
    return 0;
}