using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class Program
    {
        static void Bektrek(int[,] a, bool[,] t, int i, int j, int s, int n, int m)
        {
            s += a[i, j];
            if (i == n && j == m)
            {
                Console.WriteLine(s);
            }
            if (!t[i, j])
            {
                if (i < n)
                {
                    Bektrek(a, t, i + 1, j, s, n, m);
                }
                if (j < m)
                {
                    Bektrek(a, t, i, j + 1, s, n, m);
                }
            }
        }

        static void Main(string[] args)
        {
            string[] s = Console.ReadLine().Split();
            int n = int.Parse(s[0]), m = int.Parse(s[1]);
            int[,] a = new int[n, m];
            bool[,] t = new bool[n, m];
            for (int i = 0; i < n; i++)
            {
                s = Console.ReadLine().Split();
                for (int j = 0; j < m; j++)
                {
                    a[i, j] = int.Parse(s[j]);
                }
            }
            int k = int.Parse(Console.ReadLine());
            for (int i = 0; i < k; i++)
            {
                s = Console.ReadLine().Split();
                int x = int.Parse(s[0]) - 1, y = int.Parse(s[1]) - 1;
                t[x, y] = true;
                Bektrek(a, t, 0, 0, 0, n - 1, m - 1);
                t[x, y] = false;
            }
        }
    }
}