CF2238C Village Guilds

Description

Hmmmrmm. — Minecraft During his long adventure, Steve stumbled upon a village of villagers. The houses in the village are connected by bidirectional paths. In total, there are $ n $ houses in the village, numbered from $ 1 $ to $ n $ . The graph of houses and paths represents a rooted $ ^{\text{∗}} $ tree $ ^{\text{†}} $ , rooted at vertex $ 1 $ , where the town hall is located. Consider an arbitrary house $ v $ and its subtree $ ^{\text{‡}} $ . For each such house $ v $ and each non-negative integer $ h $ , consider the set of houses that are in the subtree of $ v $ at a distance exactly $ h $ from $ v $ . Such a set will be called a guild. For example, for $ h=0 $ , the guild will consist only of the vertex $ v $ . In the example below, the guilds for the vertex $ v=4 $ are shown. The guild for $ h=0 $ is marked in red, for $ h=1 $ in light blue, and for $ h=2 $ in green. ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF2238C/85327e853933fd7802de6b32c1299b45fc91fccfa80acd538de2a77c39969902.png)Two guilds are considered different if there exists a house that is in one guild and not in the other. Steve wants to know how many different non-empty guilds there are in the tree. Help him with this. $ ^{\text{∗}} $ A rooted tree is a tree where one vertex is special and called the root. $ ^{\text{†}} $ A tree is a connected graph without cycles. $ ^{\text{‡}} $ A subtree of vertex $ v $ is the subgraph of $ v $ , all its descendants, and all the edges between them.

Input Format

Each test contains multiple test cases. The first line contains the number of test cases $ t $ ( $ 1 \le t \le 10^4 $ ). The description of the test cases follows. The first line of each test case contains a single integer $ n $ ( $ 2 \le n \le 2 \cdot 10^5 $ ) — the number of houses in the village. The second line contains $ n-1 $ integers $ p_2, p_3, \ldots, p_n $ ( $ 1 \le p_i \lt i $ ), where $ p_i $ is the parent of the $ i $ -th house in the tree. It is guaranteed that the sum of $ n $ over all test cases does not exceed $ 2 \cdot 10^5 $ .

Output Format

For each test case, output a single integer — the number of different guilds in the village.

Explanation/Hint

In the first testcase, there are $ 5 $ guilds, each consisting of a single house. In the second testcase, in addition to the guilds consisting of a single house, there is also a guild consisting of vertices $ 2 $ and $ 3 $ . It can be obtained by considering houses at distance $ h=1 $ in the subtree of vertex $ v=1 $ . In the third testcase, in addition to the guilds consisting of a single house, there are $ 2 $ more guilds: for $ v=1 $ and $ h=1 $ , the guild consists of vertices $ 2 $ and $ 4 $ ; for $ v=5 $ , $ h=1 $ , the guild consists of vertices $ 6 $ and $ 7 $ . ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF2238C/3f59b9b2cb8771b0d006748fe4b2f146b8c103acd9cf9e5ca7c4e11547ac6c8a.png)