같은 색으로 연결된 정점 개수

트리에서 두 정점 사이 경로의 모든 정점 색이 같을 때 연결되어 있다고 하며, 색 뒤집기 질의와 연결된 정점 수 질의를 처리한다.

어려움8트리유니온 파인드DFS구현아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

정점이 NN개인 트리가 있다. 트리는 사이클이 없는 연결 무방향 그래프다. 정점에는 1번부터 NN번까지, 간선에는 1번부터 N1N-1번까지 번호가 붙어 있다. 처음에는 모든 정점이 검은색이다.

두 정점 uuvv가 연결되었다는 말은, uu에서 vv로 가는 경로 위 모든 정점의 색이 같다는 뜻이다. uu에서 uu로 가는 경로는 정점 하나뿐이므로 uu는 항상 자기 자신과 연결되어 있다.

다음 두 쿼리를 처리하는 프로그램을 작성하시오.

  • 1 i: ii번 정점의 색을 바꾼다. 검은색이면 흰색으로, 흰색이면 검은색으로 바꾼다.
  • 2 u: uu와 연결된 정점 vv의 개수를 센다. uu 자신도 개수에 넣는다.

입력

첫째 줄에 정점의 개수 NN이 주어진다. (2N1000002 \le N \le 100000)

다음 N1N-1개 줄에는 간선이 잇는 두 정점의 번호 uuvv가 주어진다. (1u,vN1 \le u, v \le N, uvu \ne v) 주어지는 간선은 트리를 이룬다.

다음 줄에 쿼리의 개수 MM이 주어진다. (1M1000001 \le M \le 100000)

다음 MM개 줄에 쿼리가 한 줄에 하나씩 주어진다. 각 쿼리는 1 i 또는 2 u 형태이고, 1i,uN1 \le i, u \le N이다.

출력

2번 쿼리마다 답을 한 줄에 하나씩, 입력에 주어진 순서대로 출력한다.