#include <iostream>
#include <cmath>

using namespace std;



int n, m;

int putuj(int px, int py, int doha[], int x, int y )
{
    //cout<<px<<" "<<py<<endl;
    int desno = -1;
    int dole = -1;
    if(px==x && py==y)
    {
        return -1;
    }
    if  (px <(m-1))
    {
        desno = putuj (px+1, py, doha, x, y);
    }

    if (py < (n-1))
    {
        dole = putuj (px, py+1, doha, x, y);
    }

    if (dole>=0 && desno>=0)
    {
        return min(dole, desno) +doha[py*m+px];
    }

    else if (dole >=0)
    {
    return dole + doha[py*m+px];
    }

    else if (desno >=0)
    {
    return desno + doha[py*m+px];
    }
    else
    {
        if(px== m-1 && py==n-1)
        {
           return doha[py*m+px];
        }
        else
        return -1;

    }
}

int main()
{
    ios_base :: sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    cin>>n>>m;
    int doha[n*m];
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<m; j++)
        {
            cin>>doha[i*m+j];
        }
    }

    int q;
    cin>>q;
    int x[q], y[q];
    for(int i=0; i<q; i++)
    {
        cin>>x[i]>>y[i];
        x[i]--;
        y[i]--;
    }
    for(int i=0; i<q; i++)
    {
       cout<<putuj(0,0,doha, y[i], x[i])<<endl;
    }

    return 0;
}