n,q = map(int,input().split()) tree = [[]for _ in range(n)] query = [0]*n for _ in range(n-1): a,b = map(int,input().split()) tree[a-1].append(b-1) tree[b-1].append(a-1) visited = [False]*n def visit(s): visited[s] = True ret = 1 for w in tree[s]: if not visited[w]: ret += visit(w) query[s] = ret return ret visit(0) ans = 0 for _ in range(q): p,x = map(int,input().split()) ans += x * query[p-1] print(ans)