Informatica Online Judge

  아침 산책 [2117 / 0845]

Time Limit(Test case) : 2000 (ms)
Number of users who solved : 8   Total Tried : 8


The Champion of this Problem (C++) : gs16106 - 0ms / 1018byte
My Best Submission (C++) : N/A

[koistudy.net (unkonwn)]
Writer ID : [gs16023]

Background

윤제와 현수는 트리 마을에 살고 있다.

트리 마을에는 n개의 노드가 존재하며, n-1개의 간선이 노드들을 연결하고 있다.

산책을 하려던 현수는, 윤제가 아침 산책으로 a에서 b까지 이동한다는 것을 알게 되었다.

현수는 윤제와 만나는 것을 굉장히 매우 매우 싫어하기 때문에, 만에 하나 만날 경우를 대비해 윤제의 산책 경로와 겹치지 않는 독자적인 산책 경로를 만들고 싶어 한다.

단, 현수는 숨쉬기 운동도 훌륭한 아침 산책이라고 생각하므로, 산책 경로의 출발점과 도착점이 같아도 상관없다.

현수에게 산책 경로로 가능한 경로가 몇 가지인지 알려주자.

Input

첫째 줄에 마을의 노드의 수 n이 입력되고, 그 아래로 n-1줄에 2번 노드부터 n번 노드의 부모 노드가 주어진다.

그 다음 줄에 윤제가 아침 산책을 하는 경로의 출발점 a와 도착점 b가 주어진다.
(n<=100)

Output

현수가 산책 경로로 할 수 있는 경로의 가짓수를 출력한다.

IO Example

입력 1
10
1
2
2
1
5
1
5
8
9
4 10


출력 1
3



입력 2
35
1
2
1
1
3
4
1
5
3
9
2
3
1
3
5
6
7
6
12
13
17
18
13
21
22
15
23
21
14
4
17
30
10
20
11 33


출력2
438

Submit : [C/C++] | [C++11] | [Obj-C] | [Java] | [Python]
Prob Analysis : [Problem Statistics] | [Solution]