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

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string[] st = Console.ReadLine().Split();
            int n = int.Parse(st[0]), m = int.Parse(st[1]);
            int[,] a = new int[n, m];
            for(int i = 0; i < n; i++)
            {
                st = Console.ReadLine().Split();
                for(int j = 0; j < m; j++)
                {
                    a[i, j] = int.Parse(st[j]);
                }
            }
            int[,] a1 = new int[n, m];
            a1[0, 0] = a[0, 0];
            for (int i = 1; i < m; i++) a1[0, i] = a1[0, i - 1] + a[0, i];
            for (int i = 1; i < n; i++) a1[i, 0] = a1[i - 1, 0] + a[i, 0];
            for (int i = 1; i < n; i++)
            {
                for (int j = 1; j < n; j++)
                {
                    if (a1[i - 1, j] < a1[i, j - 1]) a1[i, j] = a1[i - 1, j] + a[i, j];
                    else a1[i, j] = a1[i, j - 1] + a[i, j];
                }
            }
            int q = int.Parse(Console.ReadLine());
            for (int p = 0; p < q; p++)  
            {
                st = Console.ReadLine().Split();
                int x = int.Parse(st[0]) - 1, y = int.Parse(st[1]) - 1;
                int[,] a2 = new int[n, m];
                for (int i = 0; i < n; i++)
                {
                    for (int j = 0; j < m; j++)
                    {
                        a2[i, j] = a1[i, j];
                    }
                }
                a2[x, y] = int.MaxValue;
                if (x == 0)
                {
                    for(int i = y; i < m; i++)
                    {
                        a2[0, i] = int.MaxValue;
                    }
                    for (int i = 1; i < n; i++)
                    {
                        for (int j = y; j < m; j++)
                        {
                            if (a2[i - 1, j] < a2[i, j - 1]) a2[i, j] = a2[i - 1, j] + a[i, j];
                            else a2[i, j] = a2[i, j - 1] + a[i, j];
                        }
                    }
                }
                else if (y == 0)
                {
                    for (int i = x; i < n; i++)
                    {
                        a2[i, 0] = int.MaxValue;
                    }
                    for (int i = x; i < n; i++)
                    {
                        for (int j = 1; j < m; j++)
                        {
                            if (a2[i - 1, j] < a2[i, j - 1]) a2[i, j] = a2[i - 1, j] + a[i, j];
                            else a2[i, j] = a2[i, j - 1] + a[i, j];
                        }
                    }
                }
                else
                {
                    for (int i = x; i < n; i++)
                    {
                        for (int j = y; j < m; j++)
                        {
                            if (i == x && j == y) continue;
                            if (a2[i - 1, j] < a2[i, j - 1]) a2[i, j] = a2[i - 1, j] + a[i, j];
                            else a2[i, j] = a2[i, j - 1] + a[i, j];
                        }
                    }
                }
                Console.WriteLine(a2[n - 1, m - 1]);
            }

        }
    }
}