해결한 사람
0
명
정답률
0.00
%
시간 제한
2000
ms
메모리 제한
245
MB
Misha and Grisha는 장난기 많은 소년들이어서 새로운 지하철을 이용하는 것을 좋아한다. 지하철에는 n개의 역이 있으며, 각 노선은 두 역을 연결하고 어떤 역에서도 다른 모든 역에 도달할 수 있도록 n - 1개의 노선으로 연결되어 있다.
소년들은 재미있게 놀기로 하고 계획을 세웠다. 구체적으로, 어느 날 아침 Misha는 최단 경로를 따라 s역에서 f역까지 지하철을 타고 이동하며, 지나가는 모든 역에(s와 f 포함) 에어로졸로 보기 흉한 문구 "Misha was here"를 그린다. 그 후 같은 날 저녁에 Grisha는 최단 경로를 따라 t역에서 f역까지 이동하며 Misha's 문구가 있는 역의 수를 센다. 그 후 밤에는 지하철이 깨끗해야 하므로 지하철 직원들이 문구를 지운다.
소년들은 이후의 여러 날 각각에 대해 이미 세 역 a, b, c를 골랐다. 그중 하나는 그날의 s역이어야 하고, 다른 하나는 f역이어야 하며, 남은 하나는 t역이어야 한다. 소년들은 Grisha가 세는 역의 수가 가능한 한 많아지도록 이 역들을 s, f, t로 어떻게 정해야 하는지 궁금해졌다. 소년들은 당신에게 도움을 요청했다.
첫째 줄에 두 정수 n와 q (2 ≤ n ≤ 105, 1 ≤ q ≤ 105)가 주어진다. 각각 역의 수와 날짜의 수이다.
둘째 줄에 n - 1개의 정수 p2, p3, ..., pn (1 ≤ pi ≤ n)가 주어진다. 정수 pi는 pi역과 i역 사이에 노선이 있음을 뜻한다. 어떤 역에서도 다른 모든 역에 도달할 수 있음이 보장된다's.
다음 q개의 줄에는 각각 세 정수 a, b, c (1 ≤ a, b, c ≤ n)가 주어진다. 소년들이 어느 날을 위해 고른 역의 식별자이다. 이 식별자 중 일부는 같을 수도 있음에 유의한다.
q개의 줄을 출력한다. 이 줄들 중 i-th 줄에는 i-th 날에 세 역 중에서 s, t, f역을 최적으로 정했을 때 Grisha가 세어서 얻을 수 있는 가능한 최대 역의 수를 출력한다.
3 2
1 1
1 2 3
2 3 3
2
3
4 1
1 2 3
1 2 3
2
첫 번째 예제의 첫날에 s = 1, f = 2, t = 3으로 정하면 Misha는 1
2 경로로 이동하고, Grisha는 3
1
2 경로로 이동한다. Grisha는 1역과 2역에서 문구를 보게 된다. 둘째 날에 s = 3, f = 2, t = 3으로 정하면 두 소년 모두 3
1
2 경로로 이동한다. Grisha는 3개의 역에서 문구를 보게 된다.
두 번째 예제에서 s = 1, f = 3, t = 2로 정하면 Misha는 1
2
3 경로로 이동하고, Grisha는 2
3 경로로 이동하여 두 역 모두에서 문구를 보게 된다.