시간 제한
메모리 제한
시간 제한
2초
메모리 제한
128 MB
동규는 새 그림판 프로그램을 설치했다. 이 프로그램은 1번부터 K번까지 번호가 붙은 K가지 색을 지원하며, N×N 크기의 캔버스에 그림을 그린다. 처음에는 모든 칸이 1번 색으로 칠해져 있다.
캔버스의 가장 왼쪽 위 칸의 좌표는 (0, 0)이다. 좌표 (x, y)에서 x는 행, y는 열을 뜻한다.
가장 중요한 명령은 PAINT c x1 y1 x2 y2이다. 이 명령은 왼쪽 위 좌표가 (x1, y1), 오른쪽 아래 좌표가 (x2, y2)인 직사각형에 체스판 모양으로 색을 칠한다. 직사각형 안에서 (x + y)의 홀짝성이 (x1 + y1)과 같은 칸만 c번 색으로 바뀐다. 다른 칸은 칠하지 않으므로 기존 색을 그대로 유지한다. 따라서 직사각형의 왼쪽 위 칸은 항상 c번 색이 된다.
그림판에는 두 가지 명령이 더 있다. SAVE는 현재 캔버스를 저장한다. 저장된 캔버스는 SAVE가 실행된 순서대로 1번부터 번호가 붙는다. LOAD x는 x번째로 저장한 캔버스를 불러와 현재 캔버스로 만든다.
프로그램은 사용자가 입력한 모든 명령을 순서대로 기록하고 있다. 주어진 명령을 모두 수행한 뒤, 최종 캔버스의 각 칸에 칠해진 색을 구하시오.
첫째 줄에 N, K, M이 주어진다.
M은 명령의 개수이다. 다음 M개의 줄에는 PAINT c x1 y1 x2 y2, SAVE, LOAD x 중 하나의 명령이 주어진다. 올바르지 않은 명령은 주어지지 않는다.
N개의 줄에 최종 캔버스를 출력한다. 각 줄에는 해당 행의 N개 칸에 칠해진 색 번호를 공백으로 구분해 출력한다.