#P1156D. 0-1-Tree

    ID: 4541 Type: RemoteJudge 2000ms 256MiB Tried: 0 Accepted: 0 Difficulty: 8 Uploaded By: Tags>dfs and similardivide and conquerdpdsutrees*2200

0-1-Tree

Description

You are given a tree (an undirected connected acyclic graph) consisting of nn vertices and n1n - 1 edges. A number is written on each edge, each number is either 00 (let's call such edges 00-edges) or 11 (those are 11-edges).

Let's call an ordered pair of vertices (x,y)(x, y) (xyx \ne y) valid if, while traversing the simple path from xx to yy, we never go through a 00-edge after going through a 11-edge. Your task is to calculate the number of valid pairs in the tree.

The first line contains one integer nn (2n2000002 \le n \le 200000) — the number of vertices in the tree.

Then n1n - 1 lines follow, each denoting an edge of the tree. Each edge is represented by three integers xix_i, yiy_i and cic_i (1xi,yin1 \le x_i, y_i \le n, 0ci10 \le c_i \le 1, xiyix_i \ne y_i) — the vertices connected by this edge and the number written on it, respectively.

It is guaranteed that the given edges form a tree.

Print one integer — the number of valid pairs of vertices.

Input

The first line contains one integer nn (2n2000002 \le n \le 200000) — the number of vertices in the tree.

Then n1n - 1 lines follow, each denoting an edge of the tree. Each edge is represented by three integers xix_i, yiy_i and cic_i (1xi,yin1 \le x_i, y_i \le n, 0ci10 \le c_i \le 1, xiyix_i \ne y_i) — the vertices connected by this edge and the number written on it, respectively.

It is guaranteed that the given edges form a tree.

Output

Print one integer — the number of valid pairs of vertices.

Sample Input 1

7
2 1 1
3 2 0
4 2 1
5 2 0
6 7 1
7 2 1

Sample Output 1

34

Note

The picture corresponding to the first example: