만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

운반원

시간 제한3.5초메모리 제한1024 MB

요약
도시들이 트리로 연결되어 있고 상인들이 두 도시 사이를 왕복합니다. 경로를 추가하거나 삭제하며, 경로 위 도시에서 특정 시간 구간에 배송된 횟수를 셉니다.
난이도

보통10점 중 7점

유형
트리, 세그먼트 트리, 수학
정답자
아직 제출이 없습니다

문제

Pablo는 Wild West에서 가장 악명 높은 인물 중 하나로, 트리 구조를 이루는 도로로 연결된 NN개의 도시에 영향력을 행사한다. Pablo가 믿고 맡기는 부하들은 운반원이며, 쉬지 않고 물건을 나른다.

각 운반원은 도시 쌍 (u,v)(u, v)로 정해진다. 운반원은 시각 0에 도시 uu에서 출발해 최단 경로를 따라 vv로 간다. 정수 시각마다 운반원은 물건을 한 단위 배달하고 다음 도시로 이동한다. 운반원이 목적지 vv에 도착해 물건을 배달하면, 바로 다음 시각에 uu로 순간이동한다. 즉 시각 tt에 vv에서 배달했다면 시각 t+1t + 1에는 uu에서 배달한다. 운반원들은 이 경로를 영원히 반복한다.

Pablo는 이 시스템을 개선할 여지가 있는지 알고 싶어 한다. 그래서 다음 세 종류의 질의를 수행한다.

  • 1 u v: (u,v)(u, v) 사이를 오가는 운반원을 추가한다.
  • 2 u v: (u,v)(u, v) 사이를 오가는 운반원을 제거한다. 해당 운반원이 존재함이 보장된다.
  • 3 u v t1 t2: 현재 존재하는 모든 운반원이 시각 t1t_1부터 t2t_2까지(양 끝 포함) uu와 vv 사이 최단 경로 위의 모든 도시(양 끝 포함)에서 배달한 물건의 총 개수를 구한다.

입력

첫 줄에 도시의 수 NN이 주어진다. 이어서 N−1N - 1개의 줄에 각각 두 정수 uu, vv가 주어지며, 두 도시를 잇는 도로가 있음을 뜻한다.

다음 줄에 처음 존재하는 운반원의 수 KK가 주어진다. 이어서 KK개의 줄에 각각 두 수 uu, vv가 주어지며, 해당 운반원의 경로를 나타낸다.

다음 줄에 질의의 수 QQ가 주어진다. 이어서 QQ개의 줄에 위에서 설명한 형식의 질의가 한 줄에 하나씩 주어진다.

출력

종류 3의 질의마다 답을 한 줄에 하나씩 출력한다.

제한

  • 1≤N≤30,0001 \le N \le 30{,}000
  • 0≤K≤50,0000 \le K \le 50{,}000
  • 1≤Q≤50,0001 \le Q \le 50{,}000
  • 0≤t1≤t2≤2,000,000,0000 \le t_1 \le t_2 \le 2{,}000{,}000{,}000
  • 각 운반원의 경로는 양 끝을 포함해 최대 20개의 도시를 지난다.

예제1

  1. 예제 1

    입력
    5
    1 2
    2 3
    2 4
    1 5
    1
    4 1
    3
    3 3 5 0 3
    1 2 5
    3 4 5 1 5
    
    예상 출력
    2
    10