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")