만드는 중입니다

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

하늘 세금

시간 제한1초메모리 제한512 MB

요약
수도가 계속 바뀌는 트리에서 어떤 도시가 수도로 가는 경로에 포함되면 그 도시가 세금을 담당한다. 수도를 옮기거나 특정 도시가 담당하는 도시 수를 물을 때 답한다.
난이도

어려움10점 중 8점

유형
트리, DFS, 구현, 누적 합
정답자
아직 제출이 없습니다

문제

뉴 방콕은 하늘에 떠 있는 태국의 새 주다. 주가 공중에 떠 있도록 각 도시를 우주선 한 대가 떠받친다. 우주선이 모두 같은 방향으로 같은 속도로 움직이므로 주 전체의 구조는 그대로 유지된다.

도시는 하늘길로 이어져 있다. 하늘길은 두 도시를 잇는 공중 도로이고, 주민은 하늘길만 이용해 어느 도시에서 다른 어느 도시로든 오갈 수 있다. 도시 계획이 잘 되어 있어서 한 도시에서 다른 도시로 가는 단순 경로는 정확히 하나뿐이다. 즉 같은 하늘길을 두 번 지나는 경로는 없다.

이 주는 생긴 지 얼마 되지 않아 수도를 자주 옮긴다. 세금 규칙도 특이하다. 도시 BB에서 수도로 가는 경로가 도시 AA를 지나면 AA가 BB의 세금을 처리해야 한다. 경로의 양 끝인 BB와 수도도 경로에 포함되므로 모든 도시는 적어도 자기 자신의 세금을 처리한다. 그래서 한 도시가 여러 도시의 세금을 떠맡기도 한다.

주의 구조와 처음 수도, 질의 개수가 주어진다. 각 질의는 다음 둘 중 하나다.

  1. 수도를 도시 UU로 옮긴다.
  2. 도시 UU가 세금을 처리해야 하는 도시가 몇 개인지 답한다.

입력

첫 줄에 테스트 케이스 개수 TT가 주어진다. (T≤10T \le 10)

각 테스트 케이스의 첫 줄에는 도시 수 NN, 질의 수 QQ, 처음 수도 RR이 순서대로 주어진다. (1≤N≤1000001 \le N \le 100000, 1≤Q≤500001 \le Q \le 50000, 1≤R≤N1 \le R \le N)

다음 N−1N - 1개 줄에는 하늘길 정보가 한 줄에 하나씩 주어진다. 각 줄은 두 정수 AA와 BB로 이루어지고, 도시 AA와 도시 BB가 하늘길로 이어져 있다는 뜻이다. (1≤A≤N1 \le A \le N, 1≤B≤N1 \le B \le N, A≠BA \ne B)

다음 QQ개 줄에는 질의가 한 줄에 하나씩 주어진다. 각 줄은 두 정수 SS와 UU로 이루어진다. (0≤S≤10 \le S \le 1, 1≤U≤N1 \le U \le N) SS가 00이면 수도를 도시 UU로 옮기고, SS가 11이면 도시 UU가 세금을 처리해야 하는 도시의 개수를 묻는다.

출력

테스트 케이스와 질의는 입력에 주어진 순서대로 처리한다.

II번째 테스트 케이스를 시작할 때 Case #I: 형식의 줄을 먼저 출력한다. 여기서 I는 테스트 케이스 번호다.

그다음 답을 요구하는 질의마다 답을 한 줄에 하나씩 출력한다. 수도를 옮기는 질의는 아무것도 출력하지 않는다.

예제3

  1. 예제 1

    입력
    2
    5 5 1
    1 5
    3 4
    3 5
    2 1
    1 1
    1 2
    0 5
    1 5
    1 3
    1 5 1
    1 1
    1 1
    0 1
    1 1
    1 1
    
    예상 출력
    Case #1:
    5
    1
    5
    2
    Case #2:
    1
    1
    1
    1
    
  2. 예제 2

    입력
    3
    15 8 8
    1 2
    1 3
    2 4
    2 5
    3 6
    3 7
    4 8
    4 9
    5 10
    5 11
    6 12
    6 13
    7 14
    7 15
    1 1
    1 2
    1 4
    1 8
    0 15
    1 1
    1 7
    1 15
    9 6 5
    1 2
    2 3
    3 4
    4 5
    1 6
    2 7
    3 8
    4 9
    1 5
    1 1
    1 3
    0 9
    1 4
    1 6
    2 4 2
    2 1
    1 1
    1 2
    0 1
    1 2
    
    예상 출력
    Case #1:
    8
    12
    14
    15
    8
    14
    15
    Case #2:
    9
    2
    6
    8
    1
    Case #3:
    1
    2
    1
    
  3. 예제 3

    입력
    10
    14 6 9
    13 7
    13 10
    5 7
    2 7
    4 10
    8 13
    14 13
    7 12
    12 9
    1 12
    14 11
    3 12
    6 12
    0 8
    0 10
    0 8
    1 11
    0 10
    0 12
    18 4 1
    16 2
    17 2
    16 14
    14 18
    14 3
    5 16
    2 15
    8 18
    16 1
    9 17
    8 6
    7 9
    4 16
    15 12
    11 9
    18 10
    13 11
    1 17
    1 10
    1 5
    1 16
    3 8 1
    2 3
    1 2
    1 1
    1 2
    0 3
    1 3
    1 3
    1 3
    1 1
    1 1
    12 12 4
    10 1
    8 10
    1 9
    11 9
    2 8
    12 8
    6 10
    4 9
    8 5
    8 3
    3 7
    0 10
    1 8
    0 9
    1 5
    1 11
    1 9
    1 12
    1 1
    1 4
    0 8
    0 12
    0 3
    4 5 1
    4 2
    4 1
    3 2
    1 1
    0 1
    1 1
    1 1
    0 4
    13 11 1
    9 7
    9 11
    13 9
    11 2
    3 2
    1 11
    5 1
    6 3
    12 3
    4 12
    10 6
    8 2
    1 5
    1 12
    0 10
    0 2
    0 7
    1 4
    1 9
    1 6
    0 11
    0 6
    1 1
    26 8 1
    20 7
    7 14
    14 10
    3 20
    21 20
    3 18
    4 21
    2 4
    12 20
    18 26
    14 13
    18 5
    5 17
    15 20
    17 1
    21 19
    21 25
    23 17
    1 11
    9 26
    22 18
    1 8
    26 16
    22 24
    15 6
    0 7
    1 21
    1 24
    1 26
    0 1
    0 16
    1 17
    1 1
    11 3 8
    1 9
    1 8
    11 9
    5 11
    9 4
    1 2
    7 8
    3 1
    10 7
    6 10
    0 3
    1 8
    0 11
    5 4 5
    4 5
    2 4
    2 3
    1 4
    0 2
    1 1
    0 3
    0 3
    19 11 1
    17 16
    17 10
    17 14
    7 16
    16 13
    19 14
    14 4
    17 2
    11 7
    19 15
    17 12
    5 4
    12 18
    7 8
    3 18
    4 9
    8 1
    6 9
    1 3
    0 16
    0 14
    0 9
    1 9
    0 7
    0 4
    1 19
    1 11
    1 8
    1 10
    
    예상 출력
    Case #1:
    1
    Case #2:
    5
    1
    1
    17
    Case #3:
    3
    2
    3
    3
    3
    1
    1
    Case #4:
    6
    1
    1
    12
    1
    9
    1
    Case #5:
    4
    4
    4
    Case #6:
    1
    2
    1
    12
    2
    2
    Case #7:
    5
    1
    3
    5
    3
    Case #8:
    4
    Case #9:
    1
    Case #10:
    1
    19
    2
    1
    2
    1