#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
typedef vector<int> vi;
typedef vector<ld> vld;
typedef vector<ll> vll;
typedef vector<pair<ll, ll>> vp;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
#define fr first
#define sc second
#define all(a) a.begin(),a.end()
void Hendi() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
freopen("error.txt", "w", stderr);
#endif
}
const ll INF = 1e9;
const ll MOD = 1e9 + 7;
const double EPS = 1e-7;
const int N = 1e5 + 5;
const int N1 = 1e5 + 5;
int dx[] = {0, 0, 1, -1, -1, -1, 1, 1};
int dy[] = {1, -1, 0, 0, 1, -1, 1, -1};
char di[] = {'R', 'L', 'D', 'U'};
ll mul(ll a, ll b) {
return ((a % MOD) * (b % MOD)) % MOD;
}
ll sub(ll a, ll b) {
return ((a % MOD) - (b % MOD) + MOD) % MOD;
}
ll MOD_add(ll a, ll b) {
return ((a % MOD) + (b % MOD)) % MOD;
}
ll n, dp[N][2], v[N][2];
vi adj[N];
ll DFS(int u, int p, int type){
ll &ret = dp[u][type];
if(~ret) return ret;
ret = 0;
for (int i = 0; i < 2; ++i) {
ll sum = 0;
for(auto &ch: adj[u]){
if(ch != p){
sum += DFS(ch,u,i);
}
}
if(p) sum += abs(v[p][type] - v[u][i]);
ret = max(ret,sum);
}
return ret;
}
void solve() {
cin >> n;
for (int i = 0; i <= n; ++i) {
for (int j = 0; j < 2; ++j) {
dp[i][j] = -1;
}
}
for (int i = 1; i <= n; ++i) {
cin>> v[i][0] >> v[i][1];
}
int x , y;
for (int i = 0; i < n - 1; ++i) {
cin>> x >> y;
adj[x].push_back(y);
adj[y].push_back(x);
}
cout<< DFS(1,0,0) << endl;
for (int i = 0; i <= n; ++i) {
adj[i].clear();
}
}
int main() {
Hendi();
int T = 1;
cin >> T;
while (T--) {
solve();
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp0eXBlZGVmIGxvbmcgbG9uZyBsbDsKdHlwZWRlZiBsb25nIGRvdWJsZSBsZDsKdHlwZWRlZiB2ZWN0b3I8aW50PiB2aTsKdHlwZWRlZiB2ZWN0b3I8bGQ+IHZsZDsKdHlwZWRlZiB2ZWN0b3I8bGw+IHZsbDsKdHlwZWRlZiB2ZWN0b3I8cGFpcjxsbCwgbGw+PiB2cDsKdHlwZWRlZiBwYWlyPGludCwgaW50PiBwaWk7CnR5cGVkZWYgcGFpcjxsbCwgbGw+IHBsbDsKI2RlZmluZSBmciBmaXJzdAojZGVmaW5lIHNjIHNlY29uZAojZGVmaW5lIGFsbChhKSBhLmJlZ2luKCksYS5lbmQoKQoKCnZvaWQgSGVuZGkoKSB7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOwogICAgY2luLnRpZSgwKTsKICAgIGNvdXQudGllKDApOwojaWZuZGVmIE9OTElORV9KVURHRQogICAgZnJlb3BlbigiaW5wdXQudHh0IiwgInIiLCBzdGRpbik7CiAgICBmcmVvcGVuKCJvdXRwdXQudHh0IiwgInciLCBzdGRvdXQpOwogICAgZnJlb3BlbigiZXJyb3IudHh0IiwgInciLCBzdGRlcnIpOwojZW5kaWYKfQoKY29uc3QgbGwgSU5GID0gMWU5Owpjb25zdCBsbCBNT0QgPSAxZTkgKyA3Owpjb25zdCBkb3VibGUgRVBTID0gMWUtNzsKY29uc3QgaW50IE4gPSAxZTUgKyA1Owpjb25zdCBpbnQgTjEgPSAxZTUgKyA1OwppbnQgZHhbXSA9IHswLCAwLCAxLCAtMSwgLTEsIC0xLCAxLCAxfTsKaW50IGR5W10gPSB7MSwgLTEsIDAsIDAsIDEsIC0xLCAxLCAtMX07CmNoYXIgZGlbXSA9IHsnUicsICdMJywgJ0QnLCAnVSd9OwoKbGwgbXVsKGxsIGEsIGxsIGIpIHsKICAgIHJldHVybiAoKGEgJSBNT0QpICogKGIgJSBNT0QpKSAlIE1PRDsKfQoKbGwgc3ViKGxsIGEsIGxsIGIpIHsKICAgIHJldHVybiAoKGEgJSBNT0QpIC0gKGIgJSBNT0QpICsgTU9EKSAlIE1PRDsKfQoKbGwgTU9EX2FkZChsbCBhLCBsbCBiKSB7CiAgICByZXR1cm4gKChhICUgTU9EKSArIChiICUgTU9EKSkgJSBNT0Q7Cn0KCmxsIG4sIGRwW05dWzJdLCB2W05dWzJdOwp2aSBhZGpbTl07CgpsbCBERlMoaW50IHUsIGludCBwLCBpbnQgdHlwZSl7CiAgICBsbCAmcmV0ID0gZHBbdV1bdHlwZV07CiAgICBpZih+cmV0KSByZXR1cm4gcmV0OwogICAgcmV0ID0gMDsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMjsgKytpKSB7CiAgICAgICAgbGwgc3VtID0gMDsKICAgICAgICBmb3IoYXV0byAmY2g6IGFkalt1XSl7CiAgICAgICAgICAgIGlmKGNoICE9IHApewogICAgICAgICAgICAgICAgc3VtICs9IERGUyhjaCx1LGkpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmKHApIHN1bSArPSBhYnModltwXVt0eXBlXSAtIHZbdV1baV0pOwogICAgICAgIHJldCA9IG1heChyZXQsc3VtKTsKICAgIH0KICAgIHJldHVybiByZXQ7Cn0KCgp2b2lkIHNvbHZlKCkgewogICAgY2luID4+IG47CiAgICBmb3IgKGludCBpID0gMDsgaSA8PSBuOyArK2kpIHsKICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IDI7ICsraikgewogICAgICAgICAgICBkcFtpXVtqXSA9IC0xOwogICAgICAgIH0KICAgIH0KICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47ICsraSkgewogICAgICAgIGNpbj4+IHZbaV1bMF0gPj4gdltpXVsxXTsKICAgIH0KICAgIGludCB4ICwgeTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbiAtIDE7ICsraSkgewogICAgICAgIGNpbj4+IHggPj4geTsKICAgICAgICBhZGpbeF0ucHVzaF9iYWNrKHkpOwogICAgICAgIGFkalt5XS5wdXNoX2JhY2soeCk7CiAgICB9CiAgICBjb3V0PDwgREZTKDEsMCwwKSA8PCBlbmRsOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPD0gbjsgKytpKSB7CiAgICAgICAgYWRqW2ldLmNsZWFyKCk7CiAgICB9Cn0KCgppbnQgbWFpbigpIHsKICAgIEhlbmRpKCk7CiAgICBpbnQgVCA9IDE7CiAgICBjaW4gPj4gVDsKICAgIHdoaWxlIChULS0pIHsKICAgICAgICBzb2x2ZSgpOwogICAgfQp9