#include using namespace std; // one-based numbering template struct Fenwick { vector bit; int N; Fenwick(int n) { N = n; bit.resize(n+1, 0); } void add(int a, T w) { for (int x = a; x <= N; x += x & -x) bit[x] += w; } T sum(int a) { T ret = 0; for (int x = a; x > 0; x -= x & -x) ret += bit[x]; return ret; } }; long long dfs(int now, Fenwick &f, vector v[]) { long long ret = 0; ret += f.sum(now+1); f.add(now+1, 1); for (int i = 0; i < (int) v[now].size(); i++) { ret += dfs(v[now][i], f, v); } f.add(now+1, -1); return ret; } int main() { int n; cin >> n; vector v[n]; for (int i = 1; i < n; i++) { int k; cin >> k; v[k].push_back(i); } Fenwick fenwick(n+1); cout << dfs(0, fenwick, v) << endl; return 0; }