D. 0-1-Дерево
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Задано дерево (неориентированный связный ацикличный граф), состоящее из $$$n$$$ вершин и $$$n - 1$$$ ребра. На каждом ребре записано число, каждое из чисел — это либо $$$0$$$ (назовем такие ребра $$$0$$$-ребрами), либо $$$1$$$ (назовем их $$$1$$$-ребрами).

Назовем упорядоченную пару вершин $$$(x, y)$$$ ($$$x \ne y$$$) корректной, если при проходе по простому пути от $$$x$$$ до $$$y$$$ мы никогда не пройдем по $$$0$$$-ребру после прохода по $$$1$$$-ребру. Ваша задача — посчитать количество корректных пар в дереве.

Входные данные

Первая строка входных данных содержит одно целое число $$$n$$$ ($$$2 \le n \le 200000$$$) — количество вершин в дереве.

Затем следует $$$n - 1$$$ строка, каждая из которых описывает ребро дерева. Каждое ребро представлено в виде трех целых чисел $$$x_i$$$, $$$y_i$$$ и $$$c_i$$$ ($$$1 \le x_i, y_i \le n$$$, $$$0 \le c_i \le 1$$$, $$$x_i \ne y_i$$$) — вершины, соединенные этим ребром, и число, записанное на нем, соответственно.

Гарантируется, что заданный набор ребер формирует дерево.

Выходные данные

Выведите одно целое число — количество корректных пар вершин.

Пример
Входные данные
7
2 1 1
3 2 0
4 2 1
5 2 0
6 7 1
7 2 1
Выходные данные
34
Примечание

Картинка, соответствующая первому тестовому примеру: