AT_abc478_e [ABC478E] lt and le
Description
$ 1 $ 以上 $ N $ 以下の整数からなる長さ $ N $ の整数列 $ A $ であって、次の $ Q $ 個の条件をすべて満たすものが存在するか判定し、存在する場合 $ 1 $ つ求めてください。
$ i $ 番目 $ (1\le i\le Q) $ の条件は整数の $ 3 $ つ組 $ (t _ i,u _ i,v _ i) $ で与えられ、以下のように定義されます。
- $ t _ i=0 $ のとき、 $ A _ {u _ i}\le A _ {v _ i} $
- $ t _ i=1 $ のとき、 $ A _ {u _ i}\lt A _ {v _ i} $
すべての条件を満たす列が複数存在するときは、どれを出力しても構いません。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ Q $ $ t _ 1 $ $ u _ 1 $ $ v _ 1 $ $ t _ 2 $ $ u _ 2 $ $ v _ 2 $ $ \vdots $ $ t _ Q $ $ u _ Q $ $ v _ Q $
Output Format
$ 1 $ 行目には、条件を満たす整数列が存在すれば `Yes` 、そうでなければ `No` を出力せよ。 $ 1 $ 行目に `Yes` を出力したとき、 $ 2 $ 行目には条件を満たす整数列を $ 1 $ つ選び、その要素を空白を区切りとして出力せよ。 すべての条件を満たす列が複数存在するときは、どれを選んでも構わない。
Explanation/Hint
### Sample Explanation 1
$ A=(1,4,2,1,3,5,6) $ とすると、これは $ 1 $ 以上 $ 7 $ 以下の整数からなる長さ $ 7 $ の整数列です。 ここで、例えば $ 1 $ 番目の条件 $ A _ 1\le A _ 4 $ は $ 1\le 1 $ なので成り立っています。 他の $ 7 $ 個の条件も成り立つため、 $ A=(1,4,2,1,3,5,6) $ に対応する出力は正答とみなされます。
他にも、 $ A=(1,1,1,1,2,2,3) $ や $ A=(3,5,4,3,6,7,7) $ なども条件を満たすため、これらを出力しても正答とみなされます。
### Sample Explanation 2
$ A _ 1\lt A _ 1 $ が成り立つような整数列 $ A $ は存在しません。
### Constraints
- $ 1\le N\le2\times10 ^ 5 $
- $ 1\le Q\le2\times10 ^ 5 $
- $ t _ i\in\lbrace0,1\rbrace\ (1\le i\le Q) $
- $ 1\le u _ i\le N\ (1\le i\le Q) $
- $ 1\le v _ i\le N\ (1\le i\le Q) $
- 入力はすべて整数