채소밭 뒤집기

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

문제

바이트란트 텃밭(BOD)에서는 오래전부터 두 가지 채소, 즉 당근과 파슬리만을 기른다. 텃밭은 한 변의 길이가 nn인 정사각형 모양이고, n×nn \times n개의 단위 칸으로 나뉘어 있다. 각 칸에는 당근 한 포기 또는 파슬리 한 포기가 정확히 하나씩 심겨 있다.

이 텃밭만의 독특한 재배 방식이 채소의 맛과 개성을 결정한다. 주인은 매년 직사각형 구역을 하나 골라 그 구역의 재배를 뒤집는다. 재배를 뒤집는다는 것은, 그 구역 안에서 지금까지 파슬리가 자라던 칸에는 당근을, 당근이 자라던 칸에는 파슬리를 심는다는 뜻이다. 구역 밖의 칸들은 작년과 똑같은 상태로 유지된다.

주인은 여러 해에 걸친 재배 계획을 미리 세워 두었다. 이 계획을 모두 실행하고 난 뒤 텃밭이 어떤 모습이 될지 구하여라.

입력

첫째 줄에 텃밭의 크기를 나타내는 정수 nn (1n10001 \le n \le 1000)이 주어진다.

이어지는 nn개의 줄에 텃밭의 초기 상태가 주어진다. 각 줄은 텃밭의 한 가로줄(행)을 나타내며, nn개의 정수 w1,w2,,wnw_1, w_2, \dots, w_n (0wi10 \le w_i \le 1)로 이루어진다. wiw_i00이면 그 칸에는 당근이, 11이면 파슬리가 자라고 있다. 위에서 ii번째 줄은 ii번째 행이고, 그 줄의 jj번째 수는 jj번째 열의 칸을 나타낸다.

그다음 줄에는 주인이 세운 계획의 햇수를 나타내는 정수 mm (1m1061 \le m \le 10^6)이 주어진다.

이어지는 mm개의 줄에는 각 해에 수행할 재배 뒤집기가 시간 순서대로 주어진다. 각 줄은 네 정수 x1,y1,x2,y2x_1, y_1, x_2, y_2 (1x1x2n1 \le x_1 \le x_2 \le n, 1y1y2n1 \le y_1 \le y_2 \le n)로 이루어진다. 이는 그해에 열 번호가 x1x_1 이상 x2x_2 이하이고 행 번호가 y1y_1 이상 y2y_2 이하인 모든 칸, 즉 왼쪽 위 꼭짓점이 (열 x1x_1, 행 y1y_1)이고 오른쪽 아래 꼭짓점이 (열 x2x_2, 행 y2y_2)인 직사각형 안의 모든 칸에서 재배를 뒤집는다는 뜻이다.

출력

mm년이 지난 뒤 텃밭의 상태를 nn개의 줄에 출력한다. 각 줄은 텃밭의 한 가로줄(행)을 나타내며, nn개의 정수 w1,w2,,wnw_1, w_2, \dots, w_n으로 이루어진다. wiw_i는 그 칸에 당근이 자라고 있으면 00, 파슬리가 자라고 있으면 11이다. 한 줄 안의 수들은 공백 하나로 구분하여 출력한다.

힌트