#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 1e5 + 10;
int a[maxn], b[maxn];
int n;
int get(int l, int r, int L, int R){
int cnt = 0;
for (int i = r; i >= l; i--){
while (R >= L){
if (a[i] >= b[R --]){
cnt ++;
break;
}
}
}
return cnt;
}
int main(){
ios_base::sync_with_stdio(false);
int t;
cin >> t;
while (t --){
cin >> n;
for (int i = 0; i < n - 1; i++){
int v, u;
cin >> v >> u >> b[i];
v --, u --;
}
for (int i = 0; i < n; i++)
cin >> a[i];
sort(a, a + n);
sort(b, b + n - 1);
if (a[n - 1] >= b[n - 2])
cout << n - get(0, n - 2, 0, n - 2) - 1 << '\n';
else
cout << n - get(0, n - 1, 0, n - 2) << '\n';
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnR5cGVkZWYgbG9uZyBsb25nIGxsOwpjb25zdCBpbnQgbWF4biA9IDFlNSArIDEwOwoKaW50IGFbbWF4bl0sIGJbbWF4bl07CmludCBuOwoKaW50IGdldChpbnQgbCwgaW50IHIsIGludCBMLCBpbnQgUil7CglpbnQgY250ID0gMDsKCWZvciAoaW50IGkgPSByOyBpID49IGw7IGktLSl7CgkJd2hpbGUgKFIgPj0gTCl7CgkJCWlmIChhW2ldID49IGJbUiAtLV0pewoJCQkJY250ICsrOwoJCQkJYnJlYWs7CgkJCX0KCQl9Cgl9CglyZXR1cm4gY250Owp9CgppbnQgbWFpbigpewoJaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CglpbnQgdDsKCWNpbiA+PiB0OwoJd2hpbGUgKHQgLS0pewoJCWNpbiA+PiBuOwoJCWZvciAoaW50IGkgPSAwOyBpIDwgbiAtIDE7IGkrKyl7CgkJCWludCB2LCB1OwoJCQljaW4gPj4gdiA+PiB1ID4+IGJbaV07CgkJCXYgLS0sIHUgLS07CgkJfQoJCWZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKQoJCQljaW4gPj4gYVtpXTsKCQlzb3J0KGEsIGEgKyBuKTsKCQlzb3J0KGIsIGIgKyBuIC0gMSk7CgkJaWYgKGFbbiAtIDFdID49IGJbbiAtIDJdKQoJCQljb3V0IDw8IG4gLSBnZXQoMCwgbiAtIDIsIDAsIG4gLSAyKSAtIDEgPDwgJ1xuJzsKCQllbHNlCgkJCWNvdXQgPDwgbiAtIGdldCgwLCBuIC0gMSwgMCwgbiAtIDIpIDw8ICdcbic7Cgl9Cn0=