class BIT: def __init__(self,n): self.n=n self.d=[0]*(n+1) def add(self,i,x): i+=1 while i<=self.n: self.d[i]+=x i+=i&-i def _sum(self,i): res=0 i+=1 while i>0: res+=self.d[i] i-=i&-i return res def sum(self,l,r): return self._sum(r-1)-self._sum(l-1) def max_right(self,l,f): if l==self.n: return self.n s=self._sum(l) pos=l bit_mask=1<<(self.n.bit_length()-1) while bit_mask: nxt=pos+bit_mask if nxt<=self.n and f(s+self.d[nxt]): s+=self.d[nxt] pos=nxt bit_mask>>=1 return pos n=int(input()) A=list(map(int,input().split())) g=[[] for _ in range(n)] for i in range(n-1): g[A[i]].append(i+1) bit=BIT(n) ans=0 def dfs(v): global ans ans+=bit.sum(0,v) bit.add(v,1) for nv in g[v]: dfs(nv) bit.add(v,-1) dfs(0) print(ans)