정렬된 행렬의 값 개수 세기

아직 제출이 없습니다시간 제한15초메모리 제한512 MB

문제

자연수로 이루어진 행렬 AA가 하나 있다. 이 행렬은 모든 행과 모든 열이 오름차순으로 정렬되어 있다. 즉 모든 ii, jj에 대해 A[i][j]A[i1][j]A[i][j] \ge A[i-1][j]이고 A[i][j]A[i][j1]A[i][j] \ge A[i][j-1]이다.

여기에 YXY \ge X를 만족하는 정수 쌍 (X,Y)(X, Y)가 하나 이상 주어진다. 각 쌍마다 행렬의 값 중에서 XX 이상 YY 이하인 것이 몇 개인지 세어라.

입력

첫째 줄에 행의 수 NN과 열의 수 MM이 주어진다. (1N,M100001 \le N, M \le 10000)

이어지는 NN개 줄에는 행렬의 값이 행 단위로 주어진다. 각 줄에는 정수 MM개가 공백으로 구분되어 있다.

그 뒤에는 질의 쌍 (X,Y)(X, Y)가 이어진다. 한 쌍은 정수 두 개이고, 입력이 끝날 때까지 계속 읽으면 된다. 쌍은 최소 1개, 최대 100개이며, 마지막에 잘린 쌍이 남는 경우는 없다.

행렬의 값은 모두 자연수이고, 이 값과 XX, YY는 전부 32비트 부호 있는 정수 범위에 들어간다. 항상 XYX \le Y이다. 숫자 사이에는 공백과 줄바꿈이 자유롭게 섞여 있을 수 있다.

출력

질의 쌍마다 행렬의 값 중 XX 이상 YY 이하인 것의 개수를 입력에 주어진 순서대로 한 줄에 하나씩 출력한다.