#include using namespace std; #define int long long int N,M; int INF = 1e18; signed main(){ ios::sync_with_stdio(false); std::cin.tie(nullptr); cin>>N>>M; vector>> G(N); for(int i = 0; i < N - 1; i++){ int u,v; cin>>u>>v; u--;v--; G[u].push_back({v,i}); G[v].push_back({u,i}); } vector> dist(N,vector(N,INF)); queue Q; for(int i = 0; i < N; i++){ Q.push(i); vector visited(N); visited[i] = true; while(!Q.empty()){ int now = Q.front(); Q.pop(); for(pair j:G[now]){ int nex = j.first; int yea = j.second; if(visited[nex]) continue; visited[nex] = true; dist[i][nex] = min(dist[i][now],yea); Q.push(nex); } } } vector ans(N-1); ans[0] = M; for(int i = 0; i < M; i++){ int s,t; cin>>s>>t; s--; t--; ans[dist[s][t]]--; } for(int i = 1; i < N-1; i++){ ans[i] += ans[i-1]; } for(int i = 0; i < N - 1; i++){ cout << ans[i] << "\n"; } }