#include <bits/stdc++.h>
using namespace std;
bool compare_by_b(pair<int, int> a, pair<int, int> b) {
  if (a.first != b.first) {
    return a.first < b.first;
  } else {
    return a.second < b.second;
  }
}
int main() {
  int N, Q;
  int ans[200001] = {};
  cin >> N >> Q;
  vector<pair<int, int> > ab(N);
  vector<pair<int, int> > px(Q);
  for (int i = 0; i < (N - 1); i++) {
    int a, b;
    cin >> a >> b;
    ab[i] = make_pair(a, b);
  }
  for (int i = 0; i < (Q); i++) {
    int a, b;
    cin >> a >> b;
    px[i] = make_pair(a, b);
  }
  for (int i = 0; i < (Q); i++) {
    ans[px[i].first - 1] += px[i].second;
  }
  for (int i = 0; i < (N); i++) {
    ans[ab[i].second - 1] += ans[ab[i].first - 1];
  }
  for (int i = 0; i < (N); i++) {
    cout << ans[i] << ' ';
  }
  cout << endl;
  return 0;
}
