2510: 蒜头君的树

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

蒜头君有一棵有根树,树的每一边都有边权,蒜头君想知道任意两点间最短距离之和为多少。另外,由于各种原因,蒜头君的树的边的边权会发生若干次改变,蒜头君想让你告诉他,每一次改变后,任意两点间最短距离之和为多少?

Input

第一行一个正整数 nnn,表示蒜头君的树上的结点个数。

接下来 n1n-1n1 行,每行两个正整数 xi,yix_i,y_ixi,yixix_ixi 表示 i+1i+1i+1 号结点的父亲结点的编号,保证其父结点编号小于自己编号。yiy_iyi 表示 i+1i+1i+1 号结点的父亲结点与自己间边的距离。

接下来一行一个整数 mmm,表示树的边权发生改变的次数。

接下来 mmm 行,每行两个正整数 a,ba,ba,b,表示将 aaa 结点与其父亲结点之间的距离改为 bbb,保证 a2a \ge 2a2

Output

先输出一个整数,表示对于原始的树任意两点间最短距离之和。

接下来 mmm 行,每行输出一个整数,表示每一次改变后,任意两点间最短距离之和。

Sample Input Copy

4
1 1
1 1
1 1
1
2 2

Sample Output Copy

9
12

HINT

加入题单

算法标签: