#!/usr/bin/env python3

n, k = map(int, input().split())
a = sorted(map(int, input().split()))
p = [-1] * n
l = [0] * n
for i in range(1, n):
  p[i] = int(input())

ls = []
for i in reversed(range(1, n)):
  l[i] += 1
  if l[p[i]] > 0:
    ls.append(min(l[i], l[p[i]]))
  l[p[i]] = max(l[i], l[p[i]])
ls.append(l[0])
assert len(ls) == len(a)
print(sum(a[i] * ls[i] for i in range(k)))
