시간 제한
메모리 제한
시간 제한
2초
메모리 제한
128 MB
n x m 크기의 체스판에 상대편 Queen, Knight, Pawn이 놓여 있다. 자신의 말을 놓아도 상대편 말에게 잡히지 않는 빈 칸을 안전한 칸이라고 한다. 안전한 칸의 개수를 구하라.
Queen은 가로, 세로, 대각선의 8방향으로 다른 말이 있는 칸 직전까지 공격할 수 있다. 중간에 말이 있으면 그 뒤쪽 칸은 공격하지 못한다.
Knight는 2 x 3 직사각형의 반대쪽 꼭짓점에 해당하는 8칸을 공격할 수 있다. Knight의 공격은 중간에 말이 있어도 막히지 않는다.
Pawn은 다른 말을 공격하지 않으며, Queen의 이동을 막는 장애물 역할만 한다.
첫째 줄에 체스판의 행 수 n과 열 수 m이 주어진다. (1 <= n, m <= 1000)
둘째 줄에는 Queen의 개수 k와 이어서 k개의 위치 r_i c_i가 주어진다. 셋째 줄에는 Knight의 개수와 위치가 같은 형식으로 주어지고, 넷째 줄에는 Pawn의 개수와 위치가 같은 형식으로 주어진다.
각 위치에서 r_i는 행, c_i는 열을 뜻한다. 한 칸에는 말이 하나만 놓인다. Queen, Knight, Pawn의 개수는 각각 100 이하의 음이 아닌 정수이다.
안전한 칸의 개수를 출력한다.