# include <bits/stdc++.h>
# define int long long
# define vi vector<int>
# define pb push_back
# define pii pair<int, int>
# define fi first
# define se second
# define endl '\n'
# define jess ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
using namespace std;
struct node {
int v, l, r;
};
int n, m, u[100005], v[100005], l[100005], r[100005], ans, val[100005];
vector<node> adj[100005];
set<pii> s;
void dfs(int x, int p) {
val[x]=ans;
// cout << "cur " << x << endl;
// for(auto j : s) cout << "isi " << j.fi << " " << j.se << endl;
for(auto i : adj[x]) {
if(i.v==p) continue;
vector<pii> seg, sega;
int ok, bef=ans;
if(s.empty()) {
// if kosong
ok=1;
ans+=(i.r-i.l+1);
s.insert({i.l, i.r});
}
else if((*s.rbegin()).fi<i.l) {
// if nilai l < i.l semua
pii tmp=*s.rbegin();
if(tmp.se>=i.l) {
ok=2;
s.erase(tmp);
seg.pb(tmp);
ans-=(tmp.se-tmp.fi+1);
tmp.se=max(tmp.se, i.r);
s.insert(tmp);
sega.pb(tmp);
ans+=(tmp.se-tmp.fi+1);
} else {
ok=4;
s.insert({i.l, i.r});
sega.pb({i.l, i.r});
ans+=(i.r-i.l+1);
}
}
else {
ok=3;
auto it=s.lower_bound({i.l, 0});
if(it != s.begin()) it--;
int lm=i.l, rm=i.r;
while(it != s.end()) {
pii val=*it;
if(val.fi<i.l && val.se<i.l) {
}
else if(val.fi<i.l && val.se>=i.l) {
// intersecting with L
lm=val.fi;
rm=max(rm, val.se);
seg.pb(val);
ans-=(val.se-val.fi+1);
}
else if(val.fi>=i.l && val.se<=i.r) {
//di dalam segment
seg.pb(val);
ans-=(val.se-val.fi+1);
}
else if(val.fi<=i.r && val.se>i.r) {
//intersecting with R
seg.pb(val);
rm=val.se;
lm=min(lm, val.fi);
ans-=(val.se-val.fi+1);
}
else break;
it++;
}
for(auto j : seg) s.erase(j);
s.insert({lm, rm});
sega.pb({lm, rm});
ans+=(rm-lm+1);
}
dfs(i.v, x);
ans=bef;
if(ok==1) {
s.clear();
}
else if(ok==2 || ok==3 || ok==4) {
for(auto j : sega) s.erase(j);
for(auto j : seg) s.insert(j);
}
}
}
void solve () {
cin >> n >> m;
for(int i=1; i<n; i++) {
cin >> u[i] >> v[i] >> l[i] >> r[i];
adj[u[i]].pb({v[i], l[i], r[i]});
adj[v[i]].pb({u[i], l[i], r[i]});
}
dfs(1, -1);
for(int i=2; i<=n; i++) {
cout << val[i] << endl;
}
}
signed main() {
jess;
solve();
}