from sys import stdin from collections import deque INF = 10**9 N, M = map(int, stdin.readline().split()) G = [[] for _ in range(N)] for i in range(N - 1): u, v = map(int, stdin.readline().split()) u -= 1 v -= 1 G[u].append((v, i)) G[v].append((u, i)) dist = [[INF] * N for _ in range(N)] for i in range(N): visited = [False] * N visited[i] = True q = deque([i]) while q: now = q.popleft() for nex, edge_index in G[now]: if visited[nex]: continue visited[nex] = True dist[i][nex] = min(dist[i][now], edge_index) q.append(nex) ans = [0] * (N - 1) ans[0] = M for _ in range(M): s, t = map(int, stdin.readline().split()) s -= 1 t -= 1 ans[dist[s][t]] -= 1 for i in range(1, N - 1): ans[i] += ans[i - 1] for x in ans: print(x)