관광객
시간 제한4초메모리 제한1024 MB
트리에서 번호 구간의 관광객을 지정한 도시로 옮기고, 도시에서 이벤트를 열어 그곳 관광객의 의견 값을 올립니다. 관광객 한 명의 현재 의견 값을 묻는 질의에 답합니다.
문제
유토피아에는 1번부터 번까지 번호가 붙은 개의 도시가 있다. 도시들은 개의 양방향 도로로 연결되어 있어서, 어떤 두 도시든 이 도로만으로 오갈 수 있다. 유토피아는 매우 아름다워서 1번부터 번까지 번호가 붙은 명의 관광객이 지금 이 나라를 방문 중이다.
처음에 번 관광객은 도시 에 있다. 같은 도시에 여러 관광객이 있을 수 있으므로, 인 두 관광객에 대해 일 수도 있다.
각 관광객은 이번 방문이 얼마나 흥미로운지에 대한 의견을 수치로 가진다. 처음에는 모든 관광객의 의견이 0이다. 방문을 늘리기 위해 정부는 골라 둔 도시에서 행사를 연다. 도시 에서 행사가 열리면, 그 시점에 도시 에 있는 모든 관광객의 의견이 만큼 오른다. 의 값은 행사의 종류에 따라 정해진다.
일부 관광객은 체류하는 동안 도시 사이를 이동할 계획이다. 도로가 효율적이라 이동 시간은 거의 들지 않지만, 그래도 불편하므로 의견이 떨어진다. 구체적으로, 도로 개로 이루어진 경로를 지나간 관광객은 의견이 만큼 줄어든다. 관광객은 항상 두 도시 사이의 최단 경로를 택한다.
정부의 요청에 따라 관광객의 의견을 추적하라. 질의는 개가 주어지며, 입력된 순서대로 모두 처리해서 답해야 한다.
입력
첫 줄에 , , 가 주어진다 (, ).
둘째 줄에 개의 정수 이 주어진다 ().
이어지는 개의 줄에는 각각 두 정수 와 가 주어진다 (, ). 도시 와 사이에 도로가 있다는 뜻이다.
이어지는 개의 줄은 다음 중 하나의 질의이다.
t f g c: (, ) 번호가 부터 까지인 관광객이 모두 도시 로 이동한다. 이미 도시 에 있는 관광객은 움직이지 않으며 의견도 바뀌지 않는다.
e c d: (, ) 도시 에서 행사가 열려, 그곳에 있는 모든 관광객의 의견이 만큼 오른다.
q v: () 관광객 의 현재 의견을 출력한다.
출력
'q' 질의마다 답을 입력 순서대로 한 줄에 하나씩 출력한다.