#I Wanna Jump the Furthest 思路参考的官解,贴一个相对简短的python实现:
import sys
input = lambda: sys.stdin.readline().strip()
def solve():
n, k = map(int, input().split())
g = [[] for _ in range(n + 1)]
for _ in range(n - 1):
u, v = map(int, input().split())
g[u].append(v)
g[v].append(u)
def bfs(start):
q = [start]
vis = [0] *(n + 1)
vis[start] = 1
while q:
tmp = q
q = []
for u in tmp:
for v in g[u]:
if vis[v] == 0:
vis[v] = 1
q.append(v)
return tmp #最后一层的节点即为可达点
points1 = bfs(1)
points2 = bfs(points1[0])
points1, points2 = set(points1), set(points2)
if points1 & points2:
pos = points1 | points2
else:
pos = points1 if k & 1 else points2
res = [1 if i in pos else 0 for i in range(1, n + 1)]
print(*res)
for _ in range(int(input())):
solve()