import sys input=sys.stdin.buffer.readline sys.setrecursionlimit(10**6) N,Q=map(int,input().split()) G=[[] for i in range(N)] for i in range(N-1): a,b=map(int,input().split()) a-=1 b-=1 G[a].append(b) G[b].append(a) DP=[1]*N def dfs(n,p): for i in range(len(G[n])): if G[n][i]!=p: DP[n]+=dfs(G[n][i],n) return DP[n] dfs(0,-1) ANS=0 for i in range(Q): p,x=map(int,input().split()) ANS+=DP[p-1]*x print(ANS)