값이 10 이하인 N x N 행렬이 주어질 때, 부분행렬 안에 서로 다른 정수가 몇 개 있는지 묻는 질의에 답한다.
NNN행 NNN열짜리 정사각 행렬 AAA가 주어진다. 이 행렬에 대한 쿼리를 처리하는 프로그램을 작성하시오.
x1 y1 x2 y2
첫째 줄에 NNN (1≤N≤3001 \le N \le 3001≤N≤300)이 주어진다. 다음 NNN개 줄에는 행렬의 각 행이 NNN개의 수로 주어진다. 행 번호는 위에서 아래로, 열 번호는 왼쪽에서 오른쪽으로 1번부터 매긴다. 행렬의 원소는 10보다 작거나 같은 자연수이다.
다음 줄에 QQQ (1≤Q≤100 0001 \le Q \le 100\,0001≤Q≤100000)가 주어진다. 다음 QQQ개 줄에는 쿼리 정보 x1x_1x1, y1y_1y1, x2x_2x2, y2y_2y2가 주어진다. 여기서 xxx는 행 번호, yyy는 열 번호이다. (1≤x1≤x2≤N1 \le x_1 \le x_2 \le N1≤x1≤x2≤N, 1≤y1≤y2≤N1 \le y_1 \le y_2 \le N1≤y1≤y2≤N)
각 쿼리마다 답을 한 줄에 하나씩 출력한다.