#include <bits/stdc++.h>
using namespace std;
#define fi first
#define sc second
const int MAXN = 1005;
vector< pair<int,int > > adj[MAXN];
int ans[MAXN], sub[MAXN], k;
void dfs(int s, int p, int f){
sub[s] = 1;
for(auto [viz,w] : adj[s]){
if(viz == p)continue;
if(f-w < 0){dfs(viz,s,k-w); ans[s] += sub[viz];}
else dfs(viz,s,f-w);
sub[s] += sub[viz];
}
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
int n; cin>>n>>k;
for(int i = 1; i < n; i++){
int a,b,c; cin>>a>>b>>c;
adj[a].emplace_back(b,c);
adj[b].emplace_back(a,c);
}
for(int i = 0; i < n; i++)dfs(i,-1,k);
for(int i = 0; i < n; i++)cout<<ans[i]<<"\n";
}