#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
using vi = vector<int>;
using pi = pair<int, int>;
using vl = vector<ll>;
#define iter(x) begin(x), end(x)
const int N = 3e5 + 5;
vi e[N];
ll a[N], b[N];
int root[N];
int find(int k){
return root[k] == -1 ? k : (root[k] = find(root[k]));
}
ll dp[N][3]; // 0 = dist+0, 1 = dist+1, 2 = dist-1;
vi aux[N];
ll depth[N];
int par[N];
ll weight_m1[N];
void build(int k, int p=-1){
dp[k][0] = a[k] - b[k] * (depth[k] + 1);
dp[k][2] = -1e18;
weight_m1[k] = a[k] - b[k] * (depth[k] - 1);
par[k] = p;
for(int j : e[k]){
if(j == p) continue;
depth[j] = depth[k] + 1;
build(j, k);
dp[k][0] = max(dp[k][0], dp[j][0]);
weight_m1[k] = max(weight_m1[k], weight_m1[j]);
}
}
int n,m;
void push_all(){
vi all(n);
iota(iter(all), 1);
sort(iter(all), [&](int a, int b){
return depth[a] > depth[b];
});
for(int k : all){
for(int j : aux[k]){
if(depth[j] < depth[k]){
dp[k][0] = max(dp[k][0], dp[j][0]);
dp[k][2] = max(dp[k][2], dp[j][2]);
}
}
for(int j : aux[k]){
if(depth[j] == depth[k]){
dp[k][2] = max(dp[k][2], weight_m1[j]);
}
}
}
}
int main() {
ios::sync_with_stdio(false); cin.tie(0);
memset(root, -1, sizeof root);
cin >> n >> m;
for(int i = 1; i <= n; i++){
cin >> a[i] >> b[i];
}
for(int i = 1; i < n; i++){
int u,v;
cin >> u >> v;
int ru = find(u), rv = find(rv);
if(ru != rv){
e[u].push_back(v);
e[v].push_back(u);
}else{
aux[u].push_back(v);
aux[v].push_back(u);
}
}
build(1);
push_all();
for(int i = 1; i <= n; i++){
cout << i << ' ' << dp[i][0] << ' ' << dp[i][2] << endl;
if(depth[i] == 1) { // connected to 1
ll ans = max(dp[i][0], dp[i][2]);
// cout << ans << '\n';
}
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp0eXBlZGVmIGxvbmcgbG9uZyBsbDsKdXNpbmcgdmkgPSB2ZWN0b3I8aW50PjsKdXNpbmcgcGkgPSBwYWlyPGludCwgaW50PjsKdXNpbmcgdmwgPSB2ZWN0b3I8bGw+OwojZGVmaW5lIGl0ZXIoeCkgYmVnaW4oeCksIGVuZCh4KQpjb25zdCBpbnQgTiA9IDNlNSArIDU7CnZpIGVbTl07CmxsIGFbTl0sIGJbTl07CmludCByb290W05dOwppbnQgZmluZChpbnQgayl7CiAgICByZXR1cm4gcm9vdFtrXSA9PSAtMSA/IGsgOiAocm9vdFtrXSA9IGZpbmQocm9vdFtrXSkpOwp9CmxsIGRwW05dWzNdOyAvLyAwID0gZGlzdCswLCAxID0gZGlzdCsxLCAyID0gZGlzdC0xOyAKdmkgYXV4W05dOwpsbCBkZXB0aFtOXTsKaW50IHBhcltOXTsKbGwgd2VpZ2h0X20xW05dOwp2b2lkIGJ1aWxkKGludCBrLCBpbnQgcD0tMSl7CiAgICBkcFtrXVswXSA9IGFba10gLSBiW2tdICogKGRlcHRoW2tdICsgMSk7CiAgICBkcFtrXVsyXSA9IC0xZTE4OwogICAgd2VpZ2h0X20xW2tdID0gYVtrXSAtIGJba10gKiAoZGVwdGhba10gLSAxKTsKICAgIHBhcltrXSA9IHA7CiAgICBmb3IoaW50IGogOiBlW2tdKXsKICAgICAgICBpZihqID09IHApIGNvbnRpbnVlOwogICAgICAgIGRlcHRoW2pdID0gZGVwdGhba10gKyAxOwogICAgICAgIGJ1aWxkKGosIGspOwogICAgICAgIGRwW2tdWzBdID0gbWF4KGRwW2tdWzBdLCBkcFtqXVswXSk7CiAgICAgICAgd2VpZ2h0X20xW2tdID0gbWF4KHdlaWdodF9tMVtrXSwgd2VpZ2h0X20xW2pdKTsKICAgIH0KfQppbnQgbixtOwp2b2lkIHB1c2hfYWxsKCl7CiAgICB2aSBhbGwobik7CiAgICBpb3RhKGl0ZXIoYWxsKSwgMSk7CiAgICBzb3J0KGl0ZXIoYWxsKSwgWyZdKGludCBhLCBpbnQgYil7CiAgICAgICAgcmV0dXJuIGRlcHRoW2FdID4gZGVwdGhbYl07CiAgICB9KTsKICAgIGZvcihpbnQgayA6IGFsbCl7CiAgICAgICAgZm9yKGludCBqIDogYXV4W2tdKXsKICAgICAgICAgICAgaWYoZGVwdGhbal0gPCBkZXB0aFtrXSl7CiAgICAgICAgICAgICAgICBkcFtrXVswXSA9IG1heChkcFtrXVswXSwgZHBbal1bMF0pOwogICAgICAgICAgICAgICAgZHBba11bMl0gPSBtYXgoZHBba11bMl0sIGRwW2pdWzJdKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBmb3IoaW50IGogOiBhdXhba10pewogICAgICAgICAgICBpZihkZXB0aFtqXSA9PSBkZXB0aFtrXSl7CiAgICAgICAgICAgICAgICBkcFtrXVsyXSA9IG1heChkcFtrXVsyXSwgd2VpZ2h0X20xW2pdKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQppbnQgbWFpbigpIHsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsgY2luLnRpZSgwKTsgCiAgICBtZW1zZXQocm9vdCwgLTEsIHNpemVvZiByb290KTsKICAgIGNpbiA+PiBuID4+IG07CiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG47IGkrKyl7CiAgICAgICAgY2luID4+IGFbaV0gPj4gYltpXTsKICAgIH0KICAgIGZvcihpbnQgaSA9IDE7IGkgPCBuOyBpKyspewogICAgICAgIGludCB1LHY7CiAgICAgICAgY2luID4+IHUgPj4gdjsKICAgICAgICBpbnQgcnUgPSBmaW5kKHUpLCBydiA9IGZpbmQocnYpOwogICAgICAgIGlmKHJ1ICE9IHJ2KXsKICAgICAgICAgICAgZVt1XS5wdXNoX2JhY2sodik7CiAgICAgICAgICAgIGVbdl0ucHVzaF9iYWNrKHUpOwogICAgICAgIH1lbHNlewogICAgICAgICAgICBhdXhbdV0ucHVzaF9iYWNrKHYpOwogICAgICAgICAgICBhdXhbdl0ucHVzaF9iYWNrKHUpOwogICAgICAgIH0KICAgIH0KICAgIGJ1aWxkKDEpOwogICAgcHVzaF9hbGwoKTsKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKXsKICAgICAgICBjb3V0IDw8IGkgPDwgJyAnIDw8IGRwW2ldWzBdIDw8ICcgJyA8PCBkcFtpXVsyXSA8PCBlbmRsOwogICAgICAgIGlmKGRlcHRoW2ldID09IDEpIHsgLy8gY29ubmVjdGVkIHRvIDEKICAgICAgICAgICAgbGwgYW5zID0gbWF4KGRwW2ldWzBdLCBkcFtpXVsyXSk7CiAgICAgICAgICAgIC8vIGNvdXQgPDwgYW5zIDw8ICdcbic7CiAgICAgICAgfSAgIAogICAgfQp9Cg==