program kadai
implicit none

integer(8)  ::  n
integer(8)  ::  q
integer(8),allocatable  ::  a(:)
integer(8),allocatable  ::  b(:)
integer(8),allocatable  ::  p(:)
integer(8),allocatable  ::  x(:)
integer(8),allocatable  ::  counter(:)
integer(8),allocatable  ::  ans(:)
integer(8)  ::  i , j , k

read(*,*) n,q
allocate(a(n-1))
allocate(b(n-1))
allocate(p(q))
allocate(x(q))
allocate(counter(n))
allocate(ans(n))


do i=1,n-1
    read(*,*) a(i),b(i)
end do

do i=1,q
    read(*,*) p(i),x(i)
end do

counter=0

do i=1,q
    counter(p(i))=counter(p(i))+x(i)
end do

ans=counter

do i=1,n-1
    ans(b(i))=ans(b(i))+ans(a(i))
end do

write(*,*) ans


stop
contains

end program kadai