You are given a directed weighted graph with n nodes and 2n−2 edges. The nodes are labeled from 1 to n, while the edges are labeled from 1 to 2n−2. The graph's edges can be split into two parts.
You are given q queries. There are two types of queries
Given these queries, print the shortest path lengths.
The first line of input will contain two integers n,q, the number of nodes, and the number of queries, respectively.
The next 2n−2 integers will contain 3 integers ai,bi,ci, denoting a directed edge from node ai to node bi with weight ci.
The first n−1 of these lines will describe a rooted spanning tree pointing away from node 1, while the last n−1 of these lines will have bi=1.
The next q lines will contain 3 integers, describing a query in the format described in the statement.
For each type 2 query, print the length of the shortest path in its own line.
2≤n≤200000
1≤q≤200000
1≤ai,bi≤n
All edge weights will be between 1 and 106.
The edges (a1,b1),(a2,b2),…(an−1,bn−1) will describe a rooted spanning tree pointing away from node 1.
bj=1 for n≤j≤2n−2.
an,an+1,…,a2n−2 will be distinct and between 2 and n.
5 9 1 3 1 3 2 2 1 4 3 3 5 4 5 1 5 3 1 6 2 1 7 4 1 8 2 1 1 2 1 3 2 3 5 2 5 2 1 1 100 2 1 3 1 8 30 2 4 2 2 2 4
.