Нужно меньше дорог!

아직 제출이 없습니다시간 제한1초메모리 제한1024 MB

문제

В мертвом городе живет nn зомби. Они живут в nn домах, соединенных mm дорогами, причём не обязательно можно дойти от каждого дома до любого другого по дорогам (пока дойдешь от одного дома до другого, уже все конечности отвалятся).

Зомби --- ужасно социальные и при этом ужасно глупые существа. Ввиду своей социальности зомби часто ходят в гости друг к другу, а ввиду глупости не любят строить маршруты для походов в гости. После того, как в прошлый Хэллоуин зомби Чак заблудился и так и не вернулся домой, они решили, что надо поменять планировку города, чтобы перемещения стали проще.

Перед новым Хэллоуином, они просят вас разрушить несколько дорог так, чтобы между каждой парой домов существовало не более одного пути по дорогам. При этом поскольку они остаются социальными, им хочется, чтобы вы разрушили для этого как можно меньше дорог, чтобы как можно больше пар домов все еще были достижимы друг от друга. Кроме того, некоторые дороги настолько полюбились в этом обществе, что их вообще ни в коем случае нельзя ломать.

Помогите им определить, какие дороги следует разрушить, либо скажите что добиться желаемого условия невозможно, не сломав их любимые дороги.

입력

В первой строке ввода через пробел даны целые числа nn и mm (1n1051 \leq n \leq 10^5, 1m1051 \leq m \leq 10^5) --- количество домов и дорог соответственно.

В следующих mm строках описаны дороги, по одной на строке. Описание ii-й дороги состоит из трех целых чисел u_iu\_i, v_iv\_i и t_it\_i (1u_i,v_in1 \leq u\_i, v\_i \leq n; u_iv_iu\_i \neq v\_i; 0t_i10 \leq t\_i \leq 1). Это означает, что существует дорога между домами u_iu\_i и v_iv\_i, и эту дорогу нельзя разрушать, если t_i=1t\_i = 1, и можно, если t_i=0t\_i = 0.

Гарантируется что между любой парой домов существует не больше одной дороги.

출력

Выведите <<NO>> (без кавычек), если невозможно разрушить дороги так, чтобы удовлетворить потребности зомби.

Иначе в первой строке выведите <<YES>>, а затем целое число kk --- количество дорог, которые нужно разрушить. В следующих kk строках выведите пары целых чисел x_ix\_i и y_iy\_i, разделенные пробелом --- номера домов, дорогу между которыми вы разрушаете.