Coding is the closest thing we have to superpower !

2060 : 倍增-子矩阵查询
描述

给定一个N * N的矩阵和一个整数B。

有K次询问,每次询问给出一对x,y。

求以x,y为左上角的B * B的子矩阵中最大值和最小值的差是多少。

输入

第一行三个整数N, B和K。(1 \le B \le N \le 250, 1 \le K \le 100000)

接下来有N行,每行有N个整数,表示矩阵。

矩阵中的所有元素是[0, 250]之间的整数。

接下来有K行,每行给出两个整数x,y (1 \le x, y \le N-B+1),表示一个查询。

输出

对于每一个查询,输出一个整数表示答案。

样例

输入

5 3 1
5 1 2 6 3
1 3 5 2 7
7 2 4 6 1
9 9 8 6 5
0 6 9 3 9
1 2

输出

5
标签
语言:
主题: