| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 2 초 | 1024 MB | 79 | 26 | 21 | 29.167% |
하바는 어린 시절부터 $N$개의 변수 $x_1,x_2,\ldots ,x_N$을 가지고 놀면서, 변수들 간의 크기를 비교한 결과를 적어두곤 했다.
물론 하바는 장난기가 넘치기 때문에, $a$와 $b$를 비교한 결과를 다음 $6$가지 중 하나로 적었다.
변수들 간의 비교 결과가 총 $M$개 주어질 때, 하바가 가지고 있는 $N$개의 변수의 값을 추정해 보자.
첫째 줄에는 하바가 가지고 있는 변수의 개수 $N$과 비교 결과의 개수 $M$이 공백으로 구분되어 주어진다. $(1\le N\le 500\, 000;0\le M\le 500\, 000)$
둘째 줄부터 $M$개의 줄에 걸쳐 정수 $a$, 문자열 $op$, 정수 $b$가 공백으로 구분되어 주어진다. 이는 $x_a$와 $x_b$를 비교한 결과를 의미하며, $op$는 <, <=, >, >=, ==, != 중 하나이다. $(1\le a,b\le N)$
만약 비교 결과들을 모두 만족하는 $N$개의 변수의 값을 추정할 수 없다면 첫째 줄에 NO를 출력한다.
만약 비교 결과들을 모두 만족하는 $N$개의 변수의 값을 추정할 수 있다면 첫째 줄에 YES를 출력하고, 둘째 줄에 $x_1,x_2,\ldots ,x_N$으로 가능한 값을 공백으로 구분하여 출력한다.
모든 $x_i$는 $1$ 이상 $N$ 이하의 정수여야 한다. 답이 존재하는 모든 경우에 대해, 이 조건을 만족하는 답이 존재함을 보일 수 있다.
만약 가능한 답이 여러 가지라면, 그중 아무거나 하나를 출력한다.
5 6 2 < 4 1 <= 2 5 > 3 5 >= 4 1 == 3 3 != 2
YES 1 2 1 3 5
1 1 1 < 1
NO