회사
시간 제한2초메모리 제한512 MB
성장하는 트리에서 채용과 질의를 처리하며, 주어진 노드로부터 정확히 깊이 k 아래에 있는 현재 직원 수를 센다.
문제
빠르게 성장하는 어느 회사는 늘 새 직원을 채용합니다. 새로 들어온 직원 에게는 직속 상사가 정확히 한 명 배정되며, 그 상사의 상사들(직접이든 간접이든)도 모두 자동으로 의 간접 상사가 됩니다.
의 직속 상사를 차수(degree) 의 상사라고 부릅니다. 차수 인 상사의 상사는 차수 의 상사이고, 일반적으로 차수 인 상사의 상사는 차수 의 상사입니다. 따라서 모든 직원은 자신의 직속 상사와, 그 위에 있는 모든 상위 차수 상사의 부하 직원이 됩니다. 이렇게 해서 창업자를 맨 위에 둔, 전체 직원의 하나의 계층 구조가 만들어집니다.
회사는 설립 이후 입사한 모든 직원의 기록을 보관합니다. 때때로 어떤 직원은 주어진 차수 에 대해, 자신을 정확히 차수 의 상사로 두는 현재 직원이 몇 명인지 알고 싶어 합니다. 이 질문에 답하는 프로그램을 작성하세요.
입력
첫째 줄에 사건의 개수를 나타내는 정수 ()이 주어집니다. 이어지는 개의 줄에는 각 사건이 시간 순서대로 한 줄에 하나씩 주어집니다.
채용 사건은 문자 Z와 두 정수 , (이고, 모든 채용에서 값은 서로 다름)로 표현됩니다. 는 새 직원의 번호, 는 직속 상사의 번호이며, 는 항상 이미 재직 중인 직원의 번호입니다. 창업자의 번호는 입니다.
질문 사건은 문자 P와 두 정수 , (, )로 표현됩니다. 직원 가, 자신을 정확히 차수 의 상사로 두는 현재 직원이 몇 명인지 묻는 것입니다.
첫 사건이 일어나기 전에는 창업자 혼자만 회사에 있습니다.
출력
각 질문 사건마다, 를 정확히 차수 의 상사로 두는 현재 직원 수를 정수 하나로 한 줄에 출력합니다.
힌트
