#include #include using namespace std; using namespace atcoder; int N,M; int INF = 1e9; signed main(){ ios::sync_with_stdio(false); std::cin.tie(nullptr); cin>>N>>M; vector> edge(N-1); for(int i = 0; i < N - 1; i++){ cin>>edge[i].first>>edge[i].second; edge[i].first--; edge[i].second--; } vector S(M); vector T(M); for(int i = 0; i < M; i++){ cin>>S[i]>>T[i]; S[i]--; T[i]--; } dsu d(N); vector ans(N-1); vector hantei(M); for(int i = N - 2; i >= 0; i--){ for(int j = 0; j < M; j++){ if(d.same(S[j],T[j])){ ans[i]++; } } d.merge(edge[i].first,edge[i].second); } for(int i = 0; i < N-1; i++) cout << ans[i] << "\n"; }