using System;
class HelloWorld 
{
  static void Main() 
  {
    var nm = Console.ReadLine().Split();
    int n = int.Parse(nm[0]);
    int m = int.Parse(nm[1]);
    int[,] doha = new int[n,m];
    for(int i=0;i<n;i++) {
        var vrsta = Console.ReadLine().Split();
        for(int j=0;j<m;j++) {
            doha[i,j] = int.Parse(vrsta[j]);
        }
    }
    int q = int.Parse(Console.ReadLine());
    int[,] blokiranaPolja = new int[q, 2];
    for(int i=0;i<q;i++) {
        var vrsta = Console.ReadLine().Split();
        for(int j=0;j<2;j++) {
            blokiranaPolja[i,j] = int.Parse(vrsta[j])-1;
        }
    }
    
    int[] sume = new int[q];
    
    for(int slucaj=0;slucaj<q;slucaj++) {
        int tmpI = 0, tmpJ = 0;
        int suma = doha[0,0];
        int blokiranI = blokiranaPolja[slucaj, 0];
        int blokiranJ = blokiranaPolja[slucaj, 1];
        while(tmpI < n-1 && tmpJ < m-1) {
            int odabran;
            if(doha[tmpI+1, tmpJ] < doha[tmpI, tmpJ+1]) {
                if(tmpI+1 == blokiranI && tmpJ == blokiranJ) {
                    suma+=doha[tmpI, tmpJ+1];
                    odabran=doha[tmpI, tmpJ+1];
                    tmpJ++;
                }
                else {
                    suma+=doha[tmpI+1, tmpJ];
                    odabran=doha[tmpI+1, tmpJ];
                    tmpI++;
                }
            }
            else {
                if(tmpI == blokiranI && tmpJ+1 == blokiranJ) {
                    suma+=doha[tmpI+1, tmpJ];
                    odabran=doha[tmpI+1, tmpJ];
                    tmpI++;
                }
                else {
                    suma+=doha[tmpI, tmpJ+1];
                    odabran=doha[tmpI, tmpJ+1];
                    tmpJ++;
                }
            }
            
            if(tmpJ == m-1 && tmpI+1 == blokiranI && tmpJ == blokiranJ) {
                suma-=odabran;
                tmpJ--;
                suma+=doha[tmpI+1, tmpJ];
                tmpI++;
            }
            else if(tmpI == n-1 && tmpJ+1 == blokiranJ && tmpI == blokiranI) {
                suma-=odabran;
                tmpI--;
                suma+=doha[tmpI, tmpJ+1];
                tmpJ++;
            }
        }
        sume[slucaj] = suma + doha[n-1,m-1];
        Console.WriteLine(sume[slucaj]);
    }
  }
}