문제 101
가장 가까운 표시 정점
$1$번부터 $N$번까지 번호가 붙은 정점으로 이루어진 트리가 주어진다. 두 정점 사이의 거리는 두 정점을 잇는 단순 경로에 포함된 간선의 수이다. 처음에는 $1$번 정점만 표시되어 있다.
$Q$개의 쿼리가 순서대로 주어진다. 쿼리는 다음 중 하나이다.
1 v: $v$번 정점을 표시한다. 이미 표시되어 있다면 상태는 바뀌지 않는다.2 v: $v$번 정점에서 표시된 정점까지의 거리의 최솟값을 구한다.
모든 2 v 쿼리의 답을 구해보자.
입력
첫 번째 줄에 두 정수 $N$, $Q$가 공백으로 구분되어 주어진다. $(1 \le N, Q \le 200\,000)$
두 번째 줄부터 $N-1$개의 줄에 걸쳐 $i$번째 간선의 양 끝 정점을 나타내는 두 정수 $a_i$, $b_i$가 공백으로 구분되어 주어진다. $(1 \le a_i, b_i \le N; a_i \ne b_i)$
주어진 간선들은 트리를 이룬다.
그다음 줄부터 $Q$개의 줄에 걸쳐 $i$번째 쿼리를 나타내는 두 정수 $t_i$, $v_i$가 공백으로 구분되어 주어진다. $(1 \le t_i \le 2; 1 \le v_i \le N)$
출력
각 2 v 쿼리의 답을 한 줄에 하나씩 출력한다.
예제 입력 1
5 8 1 2 2 3 2 4 4 5 2 5 1 4 2 5 2 3 1 3 2 3 2 1 2 5
예제 출력 1
3 1 2 0 0 1
예제 입력 2
1 4 2 1 1 1 2 1 2 1
예제 출력 2
0 0 0