from sys import setrecursionlimit setrecursionlimit(10**6) for _ in range(int(input())): n,k = map(int,input().split()) adj = [[] for _ in range(n)] for _ in range(n-1): x,y = map(int,input().split()) adj[x-1].append(y-1); adj[y-1].append(x-1) a = list(map(int,input().split())) def dfs(v,p): for c in adj[v]: if c!=p: f[c] = f[v]^1; dfs(c,v) f = [0]*n; dfs(0,-1); z = 0 for u,v in zip(f,a): if u: z ^= v%(k+1) print("K" if z else "P")