5986 - NOI:树链剖分:树路径计算(中等难度)

通过次数

1

提交次数

1

Time Limit : 1 秒
Memory Limit : 512 MB

给定一棵 n 个节点的树,有两种操作:

  • CHANGE i t 把第 i 条边的边权变成 t
  • QUERY a b 输出从 ab 的路径上最大的边权。当 a=b 时,输出 0

Input

第一行是一个整数 n,表示节点个数。
第二行到第 n 行每行输入三个整数 u,v,w ,分别表示 uv 有一条边,边权是 w
n+1 行开始,一共有不定数量行,每一行先包含一个字符串,分别有以下三种可能:

  • CHANGE 接下来包含两个整数 x, t ,表示一次修改操作。
  • QUERY 接下来包含两个正整数 a, b , 表示一次查询操作。
  • DONE 表示输入结束。

Output

对于每个 QUERY 操作,输出一行一个数,表示 a,b 的路径上最大的边权。

Examples

Input

3
1 2 1
2 3 2
QUERY 1 2
CHANGE 1 3
QUERY 1 2
DONE

Output

1
3

Hint

数据规模与约定

对于全部的测试点,保证:

  • 1 \leq n \leq 10^5
  • 1 \leq u, v, a, b \leq n1 \leq x < n
  • 1 \leq w, t \leq 2^{31} - 1
  • 操作次数不大于 3 \times 10^5