트리 경로의 최대 간선 비용

아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

정점이 NN개인 트리가 있다. 트리는 사이클이 없는 무방향 연결 그래프다. 정점에는 1번부터 NN번까지, 간선에는 1번부터 N1N-1번까지 번호가 붙어 있고, 간선마다 비용이 하나씩 정해져 있다.

다음 두 가지 쿼리를 처리하는 프로그램을 작성하시오.

  • 1 i c: ii번 간선의 비용을 cc로 바꾼다.
  • 2 u v: uu에서 vv로 가는 단순 경로에 놓인 간선의 비용 중 가장 큰 값을 출력한다.

트리에서 서로 다른 두 정점을 잇는 단순 경로는 항상 하나뿐이다.

입력

첫째 줄에 정점의 개수 NN이 주어진다. (2N1000002 \le N \le 100\,000)

다음 N1N-1개 줄 중 ii번째 줄에는 ii번 간선이 잇는 두 정점 번호 uuvv, 그리고 그 간선의 비용 ww가 주어진다. (1w10000001 \le w \le 1\,000\,000)

그다음 줄에 쿼리의 개수 MM이 주어진다. (1M1000001 \le M \le 100\,000)

이어지는 MM개 줄에 쿼리가 한 줄에 하나씩 주어진다. 1번 쿼리에서는 1iN11 \le i \le N-1, 1c10000001 \le c \le 1\,000\,000이다. 2번 쿼리에서는 1u,vN1 \le u, v \le N이고 uuvv는 서로 다르다.

출력

2번 쿼리마다 답을 입력에 주어진 순서대로 한 줄에 하나씩 출력한다.