연결 요소와 쿼리

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

문제

K×NK \times N 격자 그래프 AA가 주어진다. 격자 그래프는 노드가 직사각형 모양으로 배치되어 있는 그래프이며, 각 노드는 위, 아래, 왼쪽, 그리고 오른쪽 노드와 연결되어 있다.

위에서 xx번째 줄 왼쪽에서 yy번째 칸의 노드를 A_xyA\_{xy}로 나타내자. 이 때, 다음 쿼리를 수행하는 프로그램을 작성하시오.

  • 1 x1 y1 x2 y2: x_1xx_2x\_1 \le x \le x\_2, y_1yy_2y\_1 \le y \le y\_2A_xyA\_{xy}만으로 이루어진 크기 11 이상의 연결 요소 중, 구성 노드의 값의 합이 가장 큰 연결 요소를 찾아 그 합을 출력한다.
  • 2 x y v: A_xyA\_{xy}의 값을 vv로 설정한다.

입력

첫 번째 줄에 격자 그래프의 크기를 나타내는 정수 KK, NN이 주어진다. (K \in \left\\{1,2,3\right\\}, 1N100,0001 \le N \le 100\\,000)

두 번째 줄부터 KK개의 줄에 걸쳐 격자 그래프의 노드의 값들이 주어진다. (109A_ij109-10^9 \le A\_{ij} \le 10^9)

다음 줄에는 쿼리의 개수 QQ가 주어진다. (1Q100,0001 \le Q \le 100\\,000)

다음 줄부터 QQ개의 쿼리가 문제에서 언급한 형식으로 한 줄에 하나씩 주어진다.

  • 11번 쿼리에서 1x_1x_2K1 \le x\_1 \le x\_2 \le K, 1y_1y_2N1 \le y\_1 \le y\_2 \le N이다.
  • 22번 쿼리에서 1xK1 \le x \le K, 1yN1 \le y \le N109v 109-10^9 \le v \le 10^9이다.

입력으로 들어오는 모든 수는 정수다.

출력

각각의 쿼리마다 정답을 한 줄에 하나씩 출력한다.