#abc201e. [abc201_e]Xor Distances

[abc201_e]Xor Distances

Problem Statement

We have a weighted tree with NN vertices. The ii-th edge connects Vertex uiu_i and Vertex viv_i bidirectionally and has a weight wiw_i.

For a pair of vertices (x,y)(x,y), let us define textdist(x,y)\\text{dist}(x,y) as follows:

  • the XOR of the weights of the edges in the shortest path from xx to yy.

Find textdist(i,j)\\text{dist}(i,j) for every pair (i,j)(i,j) such that 1leqiltjleqN1 \\leq i \\lt j \\leq N, and print the sum of those values modulo (109+7)(10^9+7).

What is textXOR\\text{ XOR }?

The bitwise mathrmXOR\\mathrm{XOR} of integers AA and BB, AmathrmXORBA\\ \\mathrm{XOR}\\ B, is defined as follows:

  • When AmathrmXORBA\\ \\mathrm{XOR}\\ B is written in base two, the digit in the 2k2^k's place (kgeq0k \\geq 0) is 11 if exactly one of AA and BB is 11, and 00 otherwise.

For example, we have 3mathrmXOR5=63\\ \\mathrm{XOR}\\ 5 = 6 (in base two: 011mathrmXOR101=110011\\ \\mathrm{XOR}\\ 101 = 110).

Constraints

  • 2leqNleq2times1052 \\leq N \\leq 2 \\times 10^5
  • 1lequiltvileqN1 \\leq u_i \\lt v_i \\leq N
  • 0leqwilt2600 \\leq w_i \\lt 2^{60}
  • The given graph is a tree.
  • All values in input are integers.

Input

Input is given from Standard Input in the following format:

NN u1u_1 v1v_1 w1w_1 u2u_2 v2v_2 w2w_2 vdots\\vdots uN1u_{N-1} vN1v_{N-1} wN1w_{N-1}

Output

Print the sum of textdist(i,j)\\text{dist}(i,j), modulo (109+7)(10^9+7).


Sample Input 1

3
1 2 1
1 3 3

Sample Output 1

6

We have textdist(1,2)=1,\\text{dist}(1,2)=1, textdist(1,3)=3,\\text{dist}(1,3)=3, and textdist(2,3)=2\\text{dist}(2,3)=2, for the sum of 66.


Sample Input 2

5
3 5 2
2 3 2
1 5 1
4 5 13

Sample Output 2

62

Sample Input 3

10
5 7 459221860242673109
6 8 248001948488076933
3 5 371922579800289138
2 5 773108338386747788
6 10 181747352791505823
1 3 803225386673329326
7 8 139939802736535485
9 10 657980865814127926
2 4 146378247587539124

Sample Output 3

241240228

Print the sum modulo (109+7)(10^9+7).