만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

POEM

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

요약
1부터 N까지의 수를 N개의 위치에 배치하여 각 구간의 곱의 부호와 합의 홀짝이 계약과 맞도록 합니다. 불가능하면 0을 출력합니다.
난이도

보통10점 중 7점

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

문제

POEM

wapas

밤하늘에 NN개의 서로 다른 정수가 가득하다.

가슴속으로 그 정수들을 살펴보니,

절댓값이 2N2N을 넘지 않는다.

00도 존재하지 않는다.

밤하늘의 외로운 수들을 위해, 나는

MM개의 계약으로 11번부터 NN번까지

수들에게 번호를 붙여준다.

계약은 4가지 형태로 주어진다.

PP LL RR

LL번 수부터 RR번 수까지 순서대로 곱했을 때 양수이다(Plus).

OO LL RR

LL번 수부터 RR번 수까지 순서대로 더했을 때 홀수이다(Odd).

EE LL RR

LL번 수부터 RR번 수까지 순서대로 더했을 때 짝수이다(Even).

MM LL RR

LL번 수부터 RR번 수까지 순서대로 곱했을 때 음수이다(Minus).

계약을 이행하며 번호를 붙이니,

밤하늘의 외로운 수들이 빛난다.

아아, 얼마나 아름다운가!

입력

첫 번째 줄에 NN과 MM이 공백으로 구분되어 주어진다.

그다음 MM개의 줄에 계약이 한 줄씩 주어진다. ii번째 줄에는 ii번째 계약이 주어진다.

계약은 QQ, LL, RR 세 값이 공백으로 구분되어 주어진다. QQ는 P, O, E, M 중 하나이고, LL과 RR은 양의 정수이다.

출력

첫 번째 줄에 모든 계약을 만족하는 NN개의 수를 공백으로 구분하여 출력한다. jj번째 수는 번호 jj를 붙인 수이다.

모든 계약을 만족하도록 수를 나열할 수 없다면 0을 출력한다.

만족하는 나열이 여럿이면 그중 아무거나 하나를 출력한다.

제한

  • 1≤N,M≤100 0001 \le N, M \le 100\,000
  • 1≤L≤R≤N1 \le L \le R \le N

예제3

  1. 예제 1

    입력
    4 4
    P 1 2
    O 1 2
    E 3 4
    M 3 4
    
    예상 출력
    2 1 -1 3
    
  2. 예제 2

    입력
    4 4
    P 1 2
    O 1 4
    E 1 2
    M 1 4
    
    예상 출력
    -4 -2 2 -1
    
  3. 예제 3

    입력
    4 4
    P 1 4
    O 1 4
    E 1 4
    M 1 4
    
    예상 출력
    0