만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

베스틴

시간 제한2초메모리 제한1024 MB

요약
허물어진 벽이 하나씩 추가될 때마다 둘레는 벽으로 막히고 내부는 모두 뚫린 직사각형 구역의 개수를 구합니다.
난이도

어려움10점 중 8점

유형
유니온 파인드, 해시맵, 구현
정답자
아직 제출이 없습니다

문제

베스틴은 타투인 행성의 수도다. 갱스터와 밀수업자가 아주 많은 것으로 유명하며, 복잡한 지리로도 알려져 있다.

도시는 n×mn\times m 킬로미터 크기의 격자 모양 직사각형이며, n⋅mn\cdot m 개의 구역으로 나뉜다. 각 구역은 직사각형의 한 칸이다. 도시가 세워졌을 때 도시는 외부 세계와 벽으로 완전히 분리되어 있었다. 또한 인접한 구역의 모든 쌍 사이에도 벽이 있었다.

각 구역은 좌표로 유일하게 구별된다. 첫 번째 좌표는 그 구역과 도시의 북쪽 벽 사이에 있는 구역의 수다. 두 번째 좌표는 그 구역과 도시의 서쪽 벽 사이에 있는 구역의 수다. 도시가 발전하면서 인접한 구역 사이의 벽 일부가 철거되었다.

베스틴에서 면적은 x⋅yx\cdot y 개의 구역으로 이루어진 부분 직사각형을 말한다. 면적은 다음 조건을 만족한다.

  • 면적의 둘레 전체가 벽으로 도시의 나머지 부분과 분리되어 있다.
  • 면적 안에서 인접한 두 구역 사이에는 벽이 없다.

그림에는 구역의 좌표가 표시되어 있다. 점선은 철거된 벽을, 실선은 남아 있는 벽을 나타낸다. 그림의 도시에는 면적이 정확히 99개 있다.

베스틴의 발전 역사를 조사하려고 한다. 벽이 하나 철거될 때마다, 철거 직후 도시에 있는 면적의 개수를 구하라.

입력

첫 번째 줄에 도시의 크기를 나타내는 두 정수 nn과 mm (1≤n,m≤100 0001 \le n, m \le 100\,000)이 주어진다. 두 번째 줄에는 도시의 역사 동안 철거된 벽의 수 kk (1≤k≤100 0001 \le k \le 100\,000)가 주어진다. 이어지는 kk개의 줄에는 철거된 벽이 하나씩 설명된다. 각 벽은 벽 양쪽에 있던 두 구역의 좌표를 두 쌍으로 나타낸다. 좌표는 음이 아닌 정수이며, 첫 번째 값은 nn보다 작고 두 번째 값은 mm보다 작다.

출력

kk개의 정수를 줄바꿈으로 구분하여 출력한다. ii번째 정수는 처음 ii개의 벽이 철거된 후 도시에 있는 면적의 개수다.

예제1

  1. 예제 1

    입력
    4 4
    7
    0 0 0 1
    0 0 1 0
    1 0 1 1
    1 1 0 1
    3 3 2 3
    3 2 2 2
    2 2 2 3
    
    예상 출력
    15
    13
    12
    13
    12
    11
    9