#AT1384. F - Colorful Tree

F - Colorful Tree

F - Colorful Tree

Score : $600$ points

Problem Statement

There is a tree with $N$ vertices numbered $1$ to $N$. The $i$-th edge in this tree connects Vertex $a_i$ and Vertex $b_i$, and the color and length of that edge are $c_i$ and $d_i$, respectively. Here the color of each edge is represented by an integer between $1$ and $N-1$ (inclusive). The same integer corresponds to the same color, and different integers correspond to different colors.

Answer the following $Q$ queries:

  • Query $j$ ($1 \leq j \leq Q$): assuming that the length of every edge whose color is $x_j$ is changed to $y_j$, find the distance between Vertex $u_j$ and Vertex $v_j$. (The changes of the lengths of edges do not affect the subsequent queries.)

Constraints

  • $2 \leq N \leq 10^5$
  • $1 \leq Q \leq 10^5$
  • $1 \leq a_i, b_i \leq N$
  • $1 \leq c_i \leq N-1$
  • $1 \leq d_i \leq 10^4$
  • $1 \leq x_j \leq N-1$
  • $1 \leq y_j \leq 10^4$
  • $1 \leq u_j < v_j \leq N$
  • The given graph is a tree.
  • All values in input are integers.

Input

Input is given from Standard Input in the following format:

NN QQ

a1a_1 b1b_1 c1c_1 d1d_1

::

aN1a_{N-1} bN1b_{N-1} cN1c_{N-1} dN1d_{N-1}

x1x_1 y1y_1 u1u_1 v1v_1

::

xQx_Q yQy_Q uQu_Q vQv_Q

Output

Print $Q$ lines. The $j$-th line ($1 \leq j \leq Q$) should contain the answer to Query $j$.


5 3
1 2 1 10
1 3 2 20
2 4 4 30
5 2 1 40
1 100 1 4
1 100 1 5
3 1000 3 4
130
200
60

The graph in this input is as follows:

Figure

Here the edges of Color $1$ are shown as solid red lines, the edge of Color $2$ is shown as a bold green line, and the edge of Color $4$ is shown as a blue dashed line.

  • Query $1$: Assuming that the length of every edge whose color is $1$ is changed to $100$, the distance between Vertex $1$ and Vertex $4$ is $100 + 30 = 130$.
  • Query $2$: Assuming that the length of every edge whose color is $1$ is changed to $100$, the distance between Vertex $1$ and Vertex $5$ is $100 + 100 = 200$.
  • Query $3$: Assuming that the length of every edge whose color is $3$ is changed to $1000$ (there is no such edge), the distance between Vertex $3$ and Vertex $4$ is $20 + 10 + 30 = 60$. Note that the edges of Color $1$ now have their original lengths.