점프하는 불빛
시간 제한3초메모리 제한2048 MB
트리에서 정점을 표시하거나 해제하는 질의와, 이웃에 표시된 정점이 있으면 그 정점을 표시하는 전체 갱신 질의를 처리합니다. 매 질의 후 표시된 정점의 개수를 출력합니다.
문제
트리가 주어진다. 트리는 개의 정점과 개의 간선으로 이루어진 연결된 무방향 그래프이다. 처음에는 어떤 정점도 표시되어 있지 않다. 다음 세 종류의 쿼리를 개 처리하라.
0 w: 정점 의 표시를 지운다. 가 표시되어 있지 않으면 아무 일도 일어나지 않는다.1 w: 정점 를 표시한다. 이미 표시되어 있으면 아무 일도 일어나지 않는다.2: 트리의 모든 정점을 동시에 갱신한다. 표시된 이웃 정점이 하나 이상인 정점은 표시하고, 그 밖의 정점은 표시를 지운다.
각 쿼리를 처리한 뒤, 트리에서 표시된 정점의 개수를 구하라.
입력
첫 줄에 두 정수 과 (, )가 주어진다.
다음 개의 줄에는 트리의 간선을 나타내는 두 정수 와 ()가 주어진다.
다음 개의 줄에는 위에서 설명한 형식의 쿼리가 주어진다 ().
출력
한 줄에 개의 정수를 출력하라. 각 정수는 해당 쿼리를 처리한 뒤 표시된 정점의 개수이다.