#include #include #include #include using namespace std; int n; vector children[200100]; int bit[200100]; long long dfs(int i) { long long sum = 0; for (int x = i+1; x <= n+1; x += x&-x) bit[x]++; for (int j : children[i]) { for (int x = j+1; x > 0; x -= x&-x) sum += bit[x]; sum += dfs(j); } for (int x = i+1; x <= n+1; x += x&-x) bit[x]--; return sum; } int main () { cin >> n; for (int i = 1; i < n; i++) { int p; cin >> p; children[p].push_back(i); } cout << dfs(0) << endl; }