#include <bits/stdc++.h>
using namespace std;
int main()
{
long int t,n,a,b,i;
scanf("%ld",&t);
while(t--)
{
scanf("%ld",&n);
int gr[n][n];
int p[n];
memset(gr,0,n);
for(i=0;i<n;i++)
scanf("%ld",&p[i]);
for(i=0;i<n-1;i++)
{
scanf("%ld%ld",&a,&b);
gr[a][b]=gr[b][a]=1;
gr[a][a]=-1;
}
long int k=0,y,max,loc;
while(k<n)
{
loc=-1;
max=0;
i=0;
while(i<n)
{
if(gr[k][i]==0)
{
if(p[i]>max)
{
max=p[i];
loc=i+1;
}
}
i++;
}
if(loc==-1)
cout<<'0'<<" ";
else
cout<<loc<<" ";
k++;
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpCnsKCSBsb25nIGludCB0LG4sYSxiLGk7Cgkgc2NhbmYoIiVsZCIsJnQpOwoJIHdoaWxlKHQtLSkKCSB7CgkgCXNjYW5mKCIlbGQiLCZuKTsKCSAJaW50IGdyW25dW25dOwoJIAlpbnQgcFtuXTsKCSAJCgkgCW1lbXNldChnciwwLG4pOwoJIAkKCSAJZm9yKGk9MDtpPG47aSsrKQkKCSAJCXNjYW5mKCIlbGQiLCZwW2ldKTsKCSAJCgkgCWZvcihpPTA7aTxuLTE7aSsrKQoJIAkJewoJIAkJCXNjYW5mKCIlbGQlbGQiLCZhLCZiKTsKCSAJCQlnclthXVtiXT1ncltiXVthXT0xOwoJIAkJCWdyW2FdW2FdPS0xOwoJIAkJfQoJIAkKCSAJbG9uZyBpbnQgaz0wLHksbWF4LGxvYzsKCSAJd2hpbGUoazxuKQoJIAl7CgkgCQlsb2M9LTE7CgkgCQltYXg9MDsKCSAJCWk9MDsKCSAJCXdoaWxlKGk8bikKCSAJCXsKCSAJCQlpZihncltrXVtpXT09MCkKCSAJCQkJewoJIAkJCQkJaWYocFtpXT5tYXgpCgkgCQkJCQkJewoJIAkJCQkJCQltYXg9cFtpXTsKCSAJCQkJCQkJbG9jPWkrMTsKCSAJCQkJCQl9CgkgCQkJCX0KCSAJCQlpKys7CgkgCQl9CgkgCWlmKGxvYz09LTEpCgkgCQljb3V0PDwnMCc8PCIgIjsKCSAJZWxzZQoJIAkJY291dDw8bG9jPDwiICI7CgkgCWsrKzsKCSB9Cn0KcmV0dXJuIDA7Cn0=