#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int N,Q;
int S[2<<17];
vector<int>G[2<<17];
void dfs(int u,int p,int s)
{
	S[u]+=s;
	for(int v:G[u])if(v!=p)dfs(v,u,S[u]);
}
int main()
{
	cin>>N>>Q;
	for(int i=1;i<N;i++)
	{
		int a,b;cin>>a>>b;a--,b--;
		G[a].push_back(b);
		G[b].push_back(a);
	}
	for(int i=0;i<Q;i++)
	{
		int p,x;cin>>p>>x;
		S[p-1]+=x;
	}
	dfs(0,-1,0);
	for(int i=0;i<N;i++)cout<<S[i]<<endl;
}