만드는 중입니다

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

크로아티아인

면접 대비

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

요약
크로아티아인으로 확인된 사람의 모든 자손도 크로아티아인이 되므로, 새 정보가 들어올 때마다 확실한 크로아티아인의 수를 구합니다.
난이도

보통10점 중 5점

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

문제

미르코는 인터넷에서 영국 왕실 구성원의 핏줄에도 크로아티아인의 피가 흐른다는 전설을 찾았습니다. 크로아티아 귀족 니콜라 슈비치 즈리스키가 엘리자베스 2세 여왕의 여러 대 위 조상이라는 내용입니다.

이를 알게 된 미르코는 영국 왕실에 크로아티아인이 정확히 몇 명인지 궁금해졌고, 유명한 인터넷 포럼에 이 질문을 올렸습니다. 곧 QQ개의 답변이 왔는데, 각 답변은 「나는 X가 확실히 크로아티아인이라는 것을 안다.」의 형태입니다. 어떤 사람이 크로아티아인이라는 것을 알면, 그 사람의 모든 자녀도 크로아티아인이라는 것은 잘 알려진 사실입니다.

영국 왕실 가족은 NN개의 정점을 가진 연결된 방향 그래프로 나타낼 수 있습니다. 각 정점은 가족 구성원 한 명을 뜻합니다. 정점 A에서 정점 B로 가는 간선은 A가 나타내는 사람이 B가 나타내는 사람의 부모라는 뜻입니다. 이런 간선은 정확히 N−1N-1개 있습니다.

포럼에서 누가 크로아티아인인지에 대한 새로운 정보를 얻을 때마다, 크로아티아인이라고 확실히 말할 수 있는 사람의 수를 출력하세요.

입력

첫 줄에 자연수 NN과 QQ가 주어집니다(1≤N,Q≤200 0001 ≤ N, Q ≤ 200\,000).

다음 N−1N-1개 줄에는 그래프의 간선을 나타내는 자연수 AA와 BB가 주어집니다(1≤A<B≤N1 ≤ A < B ≤ N).

다음 QQ개 줄에는 크로아티아인이라는 것을 확실히 아는 사람의 번호 XX가 주어집니다(1≤X≤N1 ≤ X ≤ N).

출력

QQ개의 줄을 출력합니다. ii번째 줄에는 ii번째 정보를 얻은 뒤 크로아티아인이라고 확실히 말할 수 있는 사람의 수를 출력합니다.

힌트

첫 번째 예제에서 3번 사람이 크로아티아인이라는 것을 알게 되면, 확실히 크로아티아인이라고 말할 수 있는 사람은 3번뿐입니다. 이후 2번이 크로아티아인이라는 것을 알게 되면, 2번의 자녀인 3번과 4번도 바로 크로아티아인임을 알 수 있습니다. 4번이 크로아티아인이라는 것을 알면, 4번의 자녀인 6번도 바로 크로아티아인임을 알 수 있습니다. 마지막으로 5번이 크로아티아인이라는 것을 알게 됩니다.

예제1

  1. 예제 1

    입력
    6 3
    1 2
    2 3
    4 6
    2 4
    1 5
    3
    2
    5
    
    예상 출력
    1
    4
    5