만남의 장소

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

베시와 조넬은 아주 친한 친구입니다. 농부 존이 매일 소들이 풀을 뜯는 위치를 바꾸기 때문에, 둘은 종종 멀리 떨어져 이야기를 나누지 못합니다.

농장의 목초지와 길은 트리(tree) 구조를 이룹니다. 임의의 두 목초지 사이에는 정확히 하나의 경로만 존재하며, $1$번 목초지(루트)를 제외한 모든 목초지에는 정확히 하나의 부모 목초지가 있습니다.

두 친구는 수다를 떨고 싶을 때마다, 베시의 목초지와 조넬의 목초지 모두의 조상이 되는 가장 가까운 목초지에서 만나기로 했습니다. 한 목초지는 자기 자신의 조상으로도 간주하므로, 한 명이 이미 다른 한 명의 조상 위치에 있다면 바로 그 목초지에서 만납니다.

농장에는 $1$번부터 $N$번까지 번호가 매겨진 $N$개의 목초지가 있습니다($1 \le N \le 1000$). $1$번 목초지를 제외한 각 목초지 $i$에 대해 그 부모 $P_i$가 주어집니다($1 \le P_i \le N$). 앞으로의 $M$일 동안($1 \le M \le 1000$), $k$번째 날에 베시는 $B_k$번, 조넬은 $J_k$번 목초지에 있습니다($1 \le B_k, J_k \le N$). 각 날짜에 대해 두 사람의 만남의 장소를 구하세요.

예를 들어 $1$번 목초지가 루트인 다음과 같은 농장을 생각해 봅시다.

         [1]
       /  |  \
     [2] [3] [6]
     /        |  \
   [4]      [8]  [9]
           /  \
         [5]  [7]

이 농장에서 $7$번과 $5$번의 만남의 장소는 (가장 가까운 공통 조상인) $8$번이고, $2$번과 $7$번의 만남의 장소는 $1$번입니다.

입력

  • 첫째 줄: 두 정수 $N$과 $M$이 공백으로 구분되어 주어집니다.
  • 둘째 줄부터 $N$번째 줄까지: $i$번째 줄에는 목초지 $i$의 부모 $P_i$가 하나의 정수로 주어집니다.
  • $N+1$번째 줄부터 $N+M$번째 줄까지: $N+k$번째 줄에는 $k$번째 날 베시와 조넬의 목초지 번호 $B_k$와 $J_k$가 공백으로 구분되어 주어집니다.

출력

  • $1$번째 줄부터 $M$번째 줄까지: $k$번째 줄에 $k$번째 날 베시와 조넬의 만남의 장소를 하나의 정수로 출력합니다.