#D11998. Unique Path

    ID: 9976 Type: Default 2000ms 1073MiB

Unique Path

Unique Path

Snuke's mother gave Snuke an undirected graph consisting of N vertices numbered 0 to N-1 and M edges. This graph was connected and contained no parallel edges or self-loops.

One day, Snuke broke this graph. Fortunately, he remembered Q clues about the graph. The i-th clue (0 \leq i \leq Q-1) is represented as integers A_i,B_i,C_i and means the following:

  • If C_i=0: there was exactly one simple path (a path that never visits the same vertex twice) from Vertex A_i to B_i.
  • If C_i=1: there were two or more simple paths from Vertex A_i to B_i.

Snuke is not sure if his memory is correct, and worried whether there is a graph that matches these Q clues. Determine if there exists a graph that matches Snuke's memory.

Constraints

  • 2 \leq N \leq 10^5
  • N-1 \leq M \leq N \times (N-1)/2
  • 1 \leq Q \leq 10^5
  • 0 \leq A_i,B_i \leq N-1
  • A_i \neq B_i
  • 0 \leq C_i \leq 1
  • All values in input are integers.

Input

Input is given from Standard Input in the following format:

N M Q A_0 B_0 C_0 A_1 B_1 C_1 \vdots A_{Q-1} B_{Q-1} C_{Q-1}

Output

If there exists a graph that matches Snuke's memory, print Yes; otherwise, print No.

Examples

Input

5 5 3 0 1 0 1 2 1 2 3 0

Output

Yes

Input

4 4 3 0 1 0 1 2 1 2 3 0

Output

No

Input

10 9 9 7 6 0 4 5 1 9 7 0 2 9 0 2 3 0 4 1 0 8 0 0 9 1 0 3 0 0

Output

No

inputFormat

input are integers.

Input

Input is given from Standard Input in the following format:

N M Q A_0 B_0 C_0 A_1 B_1 C_1 \vdots A_{Q-1} B_{Q-1} C_{Q-1}

outputFormat

Output

If there exists a graph that matches Snuke's memory, print Yes; otherwise, print No.

Examples

Input

5 5 3 0 1 0 1 2 1 2 3 0

Output

Yes

Input

4 4 3 0 1 0 1 2 1 2 3 0

Output

No

Input

10 9 9 7 6 0 4 5 1 9 7 0 2 9 0 2 3 0 4 1 0 8 0 0 9 1 0 3 0 0

Output

No

样例

4 4 3
0 1 0
1 2 1
2 3 0
No