JAG Zoo har $N$ apor. Aporna är numrerade från $1$ till $N$.
Djurparkspersonalen har undersökt relationerna mellan aporna. För vart och ett av $M$ par av apor har de tagit reda på om de två aporna tycker om varandra eller inte. Baserat på denna information bestämmer du dig för att dela upp de $N$ aporna i två icke-tomma burar så att de kan leva så fredligt som möjligt. För vart och ett av dessa par måste följande villkor vara uppfyllda:
- Två apor som tycker om varandra måste placeras i samma bur.
- Två apor som inte tycker om varandra måste placeras i olika burar.
Avgör om det är möjligt att dela upp aporna på detta sätt.
Indata
Indatan består av ett enda testfall i följande format.
$$ \begin{aligned} &N\ M \\ &a_1\ b_1\ c_1 \\ &a_2\ b_2\ c_2 \\ &\vdots \\ &a_M\ b_M\ c_M \end{aligned} $$
Den första raden innehåller två heltal $N$ och $M$ ($2 \le N \le 10^5$, $1 \le M \le 10^5$), som representerar antalet apor respektive antalet par.
Var och en av de följande $M$ raderna innehåller två heltal $a_i$ och $b_i$ ($1 \le a_i, b_i \le N$) samt ett tecken $c_i$, som är antingen o eller x. Om $c_i$ är o tycker aporna $a_i$ och $b_i$ om varandra. Om $c_i$ är x tycker de inte om varandra. Det garanteras att $a_i \ne b_i$ och att inget par av apor förekommer mer än en gång.
Utdata
Om det är möjligt att dela upp aporna i två icke-tomma burar, skriv ut Yes; annars, skriv ut No.
Exempel
Indata 1
5 8 2 3 x 2 5 x 1 3 x 3 4 o 1 5 x 4 5 o 3 5 o 1 4 x
Utdata 1
Yes
Indata 2
2 1 1 2 o
Utdata 2
No