using System;

namespace gg
{
    class Program
    {
        static int najmanji_broj_navijaca = int.MaxValue;
        static void guzva(int a, int b, int blokada1, int broj) {
            if (a == blokada[blokada1, 0] && b == blokada[blokada1, 1]) { }
            
            else
            {
                if (a == matrica.GetLength(0) - 1 && b == matrica.GetLength(1) - 1)
                {
                    if (najmanji_broj_navijaca > broj)
                    {
                        najmanji_broj_navijaca = broj;
                    }
                }
                else
                {
                    if (a + 1 == matrica.GetLength(0))
                    {
                        guzva(a, b + 1, blokada1, broj + matrica[a, b + 1]);
                    }
                    else if (b + 1 == matrica.GetLength(1))
                    {
                        guzva(a + 1, b, blokada1, broj + matrica[a + 1, b]);
                    }
                    else
                    {
                        guzva(a, b + 1, blokada1, broj + matrica[a, b + 1]);
                        guzva(a + 1, b, blokada1, broj + matrica[a + 1, b]);
                    }
                }
            }
        }
        static int[,] blokada;
        static int[,] matrica;
        static void Main(string[] args)
        {
            string[] s = Console.ReadLine().Split();
            int N = int.Parse(s[0]);
            int M = int.Parse(s[1]);
            matrica = new int[N + 1, M +1];
            for (int i = 1; i < matrica.GetLength(0); i++) {
                s = Console.ReadLine().Split();  
                for (int j = 1; j < matrica.GetLength(1); j++) { 
                    matrica[i, j] = int.Parse(s[j - 1]);
                }
            }
            int Q = int.Parse(Console.ReadLine());
            blokada = new int[Q, 2];
            for (int i = 0; i < Q; i++) {
                s = Console.ReadLine().Split();
                blokada[i, 0] = int.Parse(s[0]);
                blokada[i, 1] = int.Parse(s[1]);
            }
            for (int i = 0; i < Q; i++) {
                guzva(1, 1, i, matrica[1, 1]);
                Console.WriteLine(najmanji_broj_navijaca);
                najmanji_broj_navijaca = int.MaxValue;
            }
            Console.ReadLine();
        }
    }
}