Iahub and Iahubina went to a picnic in a forest full of trees. Less than 5 minutes passed before Iahub remembered of trees from programming. Moreover, he invented a new problem and Iahubina has to solve it, otherwise Iahub won't give her the food. 

Iahub asks Iahubina: can you build a rooted tree, such that
 -  each internal node (a node with at least one son) has at least two sons; -  node *i* has *c*<sub class="lower-index">*i*</sub> nodes in its subtree? 
Iahubina has to guess the tree. Being a smart girl, she realized that it's possible no tree can follow Iahub's restrictions. In this way, Iahub will eat all the food. You need to help Iahubina: determine if there's at least one tree following Iahub's restrictions. The required tree must contain *n* nodes.
The first line of the input contains integer *n* (1 ≤ *n* ≤ 24). Next line contains *n* positive integers: the *i*-th number represents *c*<sub class="lower-index">*i*</sub> (1 ≤ *c*<sub class="lower-index">*i*</sub> ≤ *n*).
from collections import defaultdict
n=int(input())
graph=defaultdict(list)

for _ in range(n-1):
    u,v=map(int,input().split())
    graph[u].append(v)
    graph[v].append(u)

clr=list(map(int,input().split()))
wnt_clr=list(map(int,input().split()))

mn_op=0
ans=[]

def dfs(u,parent,level,even_level,odd_level):
    global mn_op,ans

    if u%2==0:
        if even_level%2:
            if clr[u-1]==wnt_clr[u-1]:
                mn_op+=1
                even_level+=1
                ans.append(u)
        else:
            if clr[u-1]!=wnt_clr[u-1]:
                mn_op+=1
                even_level+=1
                ans.append(u)
    else:
        if odd_level%2:
            if clr[u-1]==wnt_clr[u-1]:
                mn_op+=1
                odd_level+=1
                ans.append(u)
        else:
            if clr[u-1]!=wnt_clr[u-1]:
                mn_op+=1
                odd_level+=1
                ans.append(u)

    for v in graph[u]:
        if v!=parent:
            dfs(v,u,level+1,even_level,odd_level)

dfs(1,0,0,0,0)
print(mn_op)
for val in ans:
    print(val)