n,q=map(int,input().split())

atai=[0]*n
oya=[0]*n

for i in range(1,n):
  a,b=map(int,input().split())
  oya[b-1]=a
#↑これにより、各木の親がどの番号なのかをメモっとく

sousa=[list(map(int,input().split())) for i in range(q)]
sousa.sort()

for i in range(q):
  #まず親の値を足す。
  if oya[sousa[i][0]-1]!=0:
    atai[i]+=atai[oya[i]-1] #(親の値は、実際のatai配列には1小さいインデックス番号にある)
    #足した後は「既に足した」証明として-1を代入。
    oya[sousa[i][0]-1]=-1
  #操作で足される文を足す
  atai[sousa[i][0]-1]+=sousa[i][1]

for i in range(n):
  if oya[i]!=-1:
    if oya[i]!=0:
      atai[i]+=atai[oya[i]-1]

for i in atai:
  print(i)

#むずｗ