길이 의 수열 이 있다. 일부 원소의 값은 정해져 있고, 일부 원소의 값은 아직 정해져 있지 않다.
입력에서 값이 정해지지 않은 원소는 으로 주어진다. 값이 정해진 원소는 이상 이하의 정수로 주어진다.
정해지지 않은 원소에는 원하는 정수를 넣을 수 있다. 이때 넣는 정수의 범위에는 제한이 없다.
당신은 정수 이 주어질 때, 수열이 다음 조건을 만족하도록 정해지지 않은 원소들의 값을 채울 수 있는지 알고 싶다.
위 식이 모든 에 대해 성립해야 한다.
하지만 수열은 쿼리에 의해 계속 바뀐다. 쿼리는 다음 두 종류 중 하나이다.
- : 의 값을 로 정한다.
- : 의 값을 정해지지 않은 상태로 바꾼다.
각 쿼리가 수행된 직후, 정해지지 않은 원소들을 적절히 채워 위 조건을 만족하게 만들 수 있는지 판별하여라.
Input
입력은 다음과 같은 형식으로 주어진다.
이면 의 값이 정해지지 않았다는 뜻이다. 이면 의 값이 정해져 있다는 뜻이다.
각각의 의 형식은 다음 둘 중 하나이다.
Output
각 쿼리마다, 쿼리를 수행한 직후 조건을 만족하게 만들 수 있으면 YES, 아니면 NO를 한 줄에 하나씩 출력한다. 대소문자는 구별하지 않는다.
Constraints
- .
- .
- .
- .
- 초기 수열에서 각 는 또는 이상 이하의 정수이다.
- 쿼리 에서 , .
- 쿼리 에서 .
Subtasks
Samples
입력
5 3 10 5
-1 2 -1 -1 -1
1 1 3
1 4 4
2 4
1 3 6
2 3
출력
YES
NO
YES
NO
YES
첫 번째 쿼리 후 수열은 이다. 예를 들어 정해지지 않은 값을 채워 로 만들면 길이 의 모든 연속 구간합이 이므로 YES이다.