【题目描述】
给出一棵n个点的树,点从1到n编号,给出树上每条边的长度。
你需要顺次执行m个操作,操作有三个参数LRx:对于当前这棵树,查询编号在[L,R]内的所有点到点x的距离之和。
数据可能会强制在线。
【输入】
第一行三个整数n,m,type,type=1表示数据强制在线。
接下来n−1行,其中第i行包含三个正整数a,b,c,表示树上的第i条边连接点a和点b,边的长度为c。
接下来m行,顺次描述m个操作。
若type=1:
①、设lastans为上一次操作的答案模n的值(初始为0)。
②、对于每个操作,输入的L,R,x都需要异或lastans。
【输出】
对于每个操作,输出一行一个整数表示答案。
【输入样例】
文本
5 3 0
1 2 3
1 3 3
2 4 3
2 5 3
1 5 3
1 5 2
2 3 4
【输出样例】
【提示】
【样例解释】
第1次操作:答案=3+6+0+9+9=27。
第3次操作:答案=3+0+6+3+3=15。
第4次操作:答案=3+9=12。
【数据规模及约定】
对于100%的数据,1≤n,m≤60000,0≤type≤1,1≤a,b≤n,0≤c≤109。