n,k=map(int,input().split()) e=[[] for i in range(n)] for i in range(n-1): u,v=map(int,input().split()) u-=1 v-=1 e[u]+=[v] e[v]+=[u] d=[0]*n for v in list(map(int,input().split())): d[v-1]=1 v=[0]*n u1=[0]*n u2=[0]*n u3=[0]*n u4=[0]*n q=[0] while len(q)>0: s=q[-1] if v[s]==0: v[s]=1 q+=[t for t in e[s] if v[t]==0] else: for t in e[s]: if v[t]==0 and u3[t]>0: u3[s]+=u3[t] u2[s]=max(u2[s],u2[t]+1) u1[s]+=u1[t]+2 u3[s]+=d[s] v[s]=0 q.pop() q=[0] v[0]=1 for s in q: u5=sorted([u2[t]+1 for t in e[s] if v[t]==0 and u3[t]>0]+[u4[s]]+[0,0])[-2:][::-1] for t in e[s]: if v[t]==0: if k-u3[t]>0: u4[t]=u5[u5[0]==u2[t]+1 and u3[t]>0]+1 u1[t]+=u1[s]-(u1[t]+2)*(u3[t]>0)+2 q+=[t] v[t]=1 for i in range(n): print(u1[i]-max(u2[i],u4[i]))