스프링클러
시간 제한4초메모리 제한1024 MB
트리의 각 땅에 있는 밀의 높이를 관리합니다. 정점 X에서 거리 D 이내의 밀 높이에 W를 곱해 L로 나눈 나머지로 바꾸고, 특정 땅의 높이를 묻는 질의에 답합니다.
문제
JOI 군은 집 텃밭에서 여러 해 동안 채소를 길러 왔다. 이제 그는 IOI 농장을 관리하려 한다.
IOI 농장에는 1번부터 번까지 번호가 붙은 땅 개가 있다. 1번부터 번까지 번호가 붙은 도로 개가 있다. 번 도로는 땅 와 땅 를 양방향으로 잇는다. 도로를 따라 어느 땅에서든 다른 어느 땅으로든 갈 수 있다.
모든 땅에는 스프링클러가 하나씩 있다. 스프링클러는 주변 땅에 물을 뿌린다.
JOI 군은 JOI 수수를 키운다. 이 식물은 물을 주는 즉시 키가 변한다. 그런데 약하다. 키가 이상이 되면 길이 만큼의 윗부분이 곧바로 부러지고, JOI 군은 부러진 부분을 거둬들인다.
처음에 JOI 군은 땅 에 키가 인 JOI 수수를 심는다(). 그 뒤 일 동안 매일 수수를 돌본다. 일째에는 다음 중 하나를 한다.
- 1형: JOI 군은 땅 의 스프링클러를 사용해, 로부터의 거리가 이하인 모든 땅에 물을 준다. 물을 받은 수수의 키는 배가 된다. 다만 부러지는 규칙 때문에, 키가 인 수수에 물을 주면 최종 키는 를 로 나눈 나머지가 된다.
- 2형: JOI 군은 땅 에 있는 수수의 키를 잰다.
두 땅 사이의 거리는 한 땅에서 다른 땅까지 이르는 경로가 지나는 도로 수의 최솟값이다.
입력
N L
A_1 B_1
A_2 B_2
...
A_{N-1} B_{N-1}
H_1
H_2
...
H_N
Q
질의 1
...
질의 Q
각 질의는 다음 중 하나의 줄이다.
- 1형 행동은
1 X D W형식이다. - 2형 행동은
2 X형식이다.
출력
2형 행동마다, 그날 측정한 땅 의 수수 키를 입력 순서대로 한 줄에 하나씩 출력한다.
제한
- ()
- 도로를 따라 어느 땅에서든 다른 어느 땅으로든 갈 수 있다.
- ()
- 는 1 또는 2이다 ().
- 이면 , , 이다.
- 이면 이다.