타일 마스터의 시련

시간 제한1초메모리 제한512 MB

요약
N x M 격자에 Q번의 직사각형 뒤집기 갱신이 주어질 때마다, 허용된 길이의 행 뒤집기와 열 뒤집기만으로 모든 타일을 빛으로 만들 수 있는지 판별한다.
난이도

어려움10점 중 9점

유형
누적 합, 비트 연산, 정수론, 수학
정답자
아직 제출이 없습니다

문제

메이플스토리의 새로운 지역, "리버스 시티"에서는 마법 타일이 NN x MM 크기의 격자판을 이루고 있다. 각 타일의 앞면에는 빛의 문양, 뒷면에는 어둠의 문양이 새겨져 있으며, 모든 타일은 초기 상태에서 빛의 문양이 위를 향하고 있다.

모험가 여러분은 두 가지 마법 스크롤을 사용하여 타일을 뒤집을 수 있다. 스크롤은 사용해도 사라지지 않으며, 한 스크롤을 여러번 사용할 수 있다.

  • 빛의 스크롤: SS 가지 종류의 빛의 스크롤이 존재하며, ii 번째 빛의 스크롤을 사용하면 연속한 A_iA\_i​ 개의 행을 선택하여 해당 행에 놓인 모든 타일을 뒤집을 수 있다.
  • 어둠의 스크롤: TT 가지 종류의 어둠의 스크롤이 존재하며, ii 번째 어둠의 스크롤을 사용하면 연속한 B_iB\_i​ 개의 열을 선택하여 해당 열에 놓인 모든 타일을 뒤집을 수 있다.

모험가 여러분이 스크롤을 적절히 사용하여 모든 타일이 빛의 문양이 위를 향하도록 만들 수 있는 타일의 초기 상태를 아름다운 패턴이라 정의한다.

지역의 수호자, 타일 마스터는 시간의 흐름에 따라 타일의 문양을 조작하며 모험가에게 시련을 부여한다. 시각 00에는 모든 타일이 빛의 문양이 위를 향하고 있다. 11 이상 QQ 이하인 ii에 대해 시각 ii가 되면 타일 마스터는 sx_i​,sy_i​,ex_i​,ey_isx\_i​, sy\_i​, ex\_i​, ey\_i​를 선택하고, sx_i≤x≤ex_isx\_i \le x \le ex\_i와 sy_i≤y≤ey_isy\_i \le y \le ey\_i를 만족하는 모든 정수 x,yx, y에 대해 xx행 yy열에 위치한 타일을 모두 뒤집는다.

이제, 모험가 여러분은 각 시각 ii에 대해, 해당 시각의 타일 상태를 시작 상태로 할 때 스크롤을 적절히 사용하여 모든 타일이 빛의 문양이 위를 향하게 만들 수 있는지, 즉 타일 상태가 아름다운 패턴인지 판별하는 프로그램을 작성하라.

입력

첫 줄에 격자판의 크기를 나타내는 두 정수 NN과 MM이 공백으로 구분되어 주어진다. (1≤N,M≤300000;N×M≤10000001 \le N,M \le 300000; N \times M \le 1000000)

그다음 줄에 빛의 스크롤 종류의 수를 나타내는 정수 SS가 주어진다. (1≤S≤N1 \le S \le N)

그다음 줄에 각 빛의 스크롤 특성값을 나타내는 SS 개의 서로 다른 정수 A_1,A_2,…,A_SA\_1, A\_2, \ldots, A\_S​가 공백으로 구분되어 주어진다. (1≤A_i≤N1 \le A\_i \le N)

그다음 줄에 어둠의 스크롤 종류의 수를 나타내는 정수 TT가 주어진다. (1≤T≤M1 \le T \le M)

그다음 줄에 각 어둠의 스크롤 특성값을 나타내는 TT 개의 서로 다른 정수 B_1,B_2,…,B_TB\_1, B\_2, \ldots, B\_T가 공백으로 구분되어 주어진다. (1≤B_i≤M1 \le B\_i \le M)

그다음 줄에 시간의 길이를 나타내는 정수 QQ가 주어진다. (1≤Q≤3000001 \le Q \le 300000)

이어지는 QQ 개의 줄의 ii 번째 줄에는 시각 ii에 타일 마스터가 타일의 문양을 조작하는 방법을 나타내는 네 정수 sx_i​,sy_i​,ex_i​,ey_isx\_i​, sy\_i​, ex\_i​, ey\_i가 공백으로 구분되어 주어진다. (1≤sx_i≤ex_i≤N,1≤sy_i≤ey_i≤M1 \le sx\_i \le ex\_i \le N, 1 \le sy\_i \le ey\_i \le M)

출력

첫 줄에 정답을 나타내는 길이 QQ의 문자열을 출력한다. 이 문자열은 Y와 N으로만 이루어져 있어야 한다. ii 번째 문자가 Y이면 시각 ii에 타일 상태가 아름다운 패턴인 것이고, N이면 그렇지 않은 것을 의미한다.

예제1

  1. 예제 1

    입력
    6 8
    1
    4
    2
    6 7
    4
    1 1 4 8
    1 5 6 8
    1 3 4 4
    5 3 6 4
    
    예상 출력
    YNNY