import sys input = sys.stdin.buffer.readline sys.setrecursionlimit(10 ** 7) N, Q = map(int, input().split()) G = [[] for _ in range(N)] for _ in range(N-1): a, b = map(int, input().split()) a -= 1 b -= 1 G[a].append(b) G[b].append(a) par = [-1] * N topo = [] que = [0] while que: s = que.pop() topo.append(s) for t in G[s]: if t == par[s]: continue par[t] = s que.append(t) sz = [1] * N for s in topo[::-1][:-1]: p = par[s] sz[p] += sz[s] ans = 0 for _ in range(Q): p, x = map(int, input().split()) p -= 1 ans += sz[p] * x print(ans)