#include "bits/stdc++.h"
using namespace std ;
#define timesaver ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
typedef long long ll ;
typedef long double ldb ;
#define mp make_pair
#define pb push_back
#define F first
#define S second
#define nl '\n'
#define all( x ) x.begin(),x.end()
#define sz( x ) ( int )( x ).size( )
#define mem( a, val ) memset(a, val, sizeof( a ) )
#define deci( x ) cout<<fixed<<setprecision( x );
#define bitcount( x ) __builtin_popcountll( x )
const int dx[8] = {-1, -1, -1, 0, 1, 1, 1, 0};
const int dy[8] = {-1, 0, 1, 1, 1, 0, -1, -1};
const int MAX = 2*1000*100 + 10 ;
const ll INF = 1e18 ;
const int MOD = 1e9 + 7 ;
struct Query{
ll l, r, k, idx ;
bool operator <( Query &b ){
return k < b.k ;
}
}qr[ MAX ];
struct Array{
ll val, idx ;
bool operator <( Array &b ){
return val < b.val ;
}
}ar[ MAX ];
ll BIT[ MAX ], ans[ MAX ] ;
void update( ll pos, ll val ){
while( pos and pos < MAX ){
BIT[ pos ] += val ;
pos += ( pos&-pos );
}
}
ll get( ll pos ){
ll ans(0);
while( pos ){
ans += BIT[ pos ] ;
pos -= ( pos&-pos ) ;
}
return ans ;
}
ll timer ;
vector< ll > v[ MAX ], sub( MAX, 0 ), ind( MAX, 0 ) ;
void dfs( ll x, ll p ){
ind[ x ] = ++timer ;
sub[ x ] = 1 ;
for( ll i : v[ x ] )
if( i != p ){
dfs( i, x ) ;
sub[ x ] += sub[ i ] ;
}
}
int main( ){
timesaver ;
ll n ;
cin >> n ;
for( ll i = 1 ; i < n ; i++ ){
ll x, y ;
cin >> x >> y ;
v[ x ].pb( y ) ;
v[ y ].pb( x ) ;
}
timer = 0 ;
dfs( 1, 1 );
for( ll i = 1 ; i <= n ; i++ ){
cin >> ar[ i ].val ;
ar[ i ].idx = ind[ i ] ;
}
for( ll i = 1 ; i <= n ; i++ ){
qr[ i ].l = ind[ i ] ;
qr[ i ].r = ind[ i ] + sub[ i ] - 1 ;
qr[ i ].k = ar[ i ].val ;
qr[ i ].idx = i ;
}
sort( ar + 1, ar + n + 1 ) ;
sort( qr + 1, qr + n + 1 ) ;
ll cur( 1 ) ;
for( ll i = 1 ; i <= n ; i++ ){
while( ar[ cur ].val < qr[ i ].k and cur <= n ){
update( ar[ cur ].idx, ar[ cur ].val ) ;
cur++ ;
}
ans[ qr[ i ].idx ] = get( qr[ i ].r ) - get( qr[ i ].l - 1 ) ;
}
ll tot( 0 ) ;
for( ll i = 1 ; i <= n ; i++ )
tot += ans[ i ] ;
cout << tot << nl ;
}
I2luY2x1ZGUgImJpdHMvc3RkYysrLmgiCnVzaW5nIG5hbWVzcGFjZSBzdGQgOwoKI2RlZmluZSB0aW1lc2F2ZXIgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTtjaW4udGllKDApO2NvdXQudGllKDApOwoKdHlwZWRlZiBsb25nIGxvbmcgbGwgOwp0eXBlZGVmIGxvbmcgZG91YmxlIGxkYiA7CgojZGVmaW5lIG1wIG1ha2VfcGFpcgojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIEYgZmlyc3QKI2RlZmluZSBTIHNlY29uZAojZGVmaW5lIG5sICdcbicKCiNkZWZpbmUgYWxsKCB4ICkgeC5iZWdpbigpLHguZW5kKCkgCiNkZWZpbmUgc3ooIHggKSAoIGludCApKCB4ICkuc2l6ZSggKQojZGVmaW5lIG1lbSggYSwgdmFsICkgbWVtc2V0KGEsIHZhbCwgc2l6ZW9mKCBhICkgKQojZGVmaW5lIGRlY2koIHggKSBjb3V0PDxmaXhlZDw8c2V0cHJlY2lzaW9uKCB4ICk7CiNkZWZpbmUgYml0Y291bnQoIHggKSBfX2J1aWx0aW5fcG9wY291bnRsbCggeCApCgpjb25zdCBpbnQgZHhbOF0gPSB7LTEsIC0xLCAtMSwgMCwgMSwgMSwgMSwgMH07CmNvbnN0IGludCBkeVs4XSA9IHstMSwgMCwgMSwgMSwgMSwgMCwgLTEsIC0xfTsKCmNvbnN0IGludCBNQVggPSAyKjEwMDAqMTAwICsgMTAgOwpjb25zdCBsbCBJTkYgPSAxZTE4IDsKY29uc3QgaW50IE1PRCA9IDFlOSArIDcgOwoKc3RydWN0IFF1ZXJ5ewogIGxsIGwsIHIsIGssIGlkeCA7CiAgYm9vbCBvcGVyYXRvciA8KCBRdWVyeSAmYiApewogICAgcmV0dXJuIGsgPCBiLmsgOwogIH0KfXFyWyBNQVggXTsKCnN0cnVjdCBBcnJheXsKICBsbCB2YWwsIGlkeCA7CiAgYm9vbCBvcGVyYXRvciA8KCBBcnJheSAmYiApewogICAgcmV0dXJuIHZhbCA8IGIudmFsIDsKICB9Cn1hclsgTUFYIF07CgpsbCBCSVRbIE1BWCBdLCBhbnNbIE1BWCBdIDsKCnZvaWQgdXBkYXRlKCBsbCBwb3MsIGxsIHZhbCApewogIHdoaWxlKCBwb3MgYW5kIHBvcyA8IE1BWCApewogICAgQklUWyBwb3MgXSArPSB2YWwgOwogICAgcG9zICs9ICggcG9zJi1wb3MgKTsKICB9Cn0KCmxsIGdldCggbGwgcG9zICl7CiAgbGwgYW5zKDApOwogIHdoaWxlKCBwb3MgKXsKICAgIGFucyArPSBCSVRbIHBvcyBdIDsKICAgIHBvcyAtPSAoIHBvcyYtcG9zICkgOwogIH0KICByZXR1cm4gYW5zIDsKfQoKbGwgdGltZXIgOwp2ZWN0b3I8IGxsID4gdlsgTUFYIF0sIHN1YiggTUFYLCAwICksIGluZCggTUFYLCAwICkgOwoKdm9pZCBkZnMoIGxsIHgsIGxsIHAgKXsKICBpbmRbIHggXSA9ICsrdGltZXIgOwogIHN1YlsgeCBdID0gMSA7CiAgZm9yKCBsbCBpIDogdlsgeCBdICkKICAgIGlmKCBpICE9IHAgKXsKICAgICAgZGZzKCBpLCB4ICkgOwogICAgICBzdWJbIHggXSArPSBzdWJbIGkgXSA7CiAgICB9Cn0KCmludCBtYWluKCApewogIHRpbWVzYXZlciA7CiAgbGwgbiA7CiAgY2luID4+IG4gOwogIGZvciggbGwgaSA9IDEgOyBpIDwgbiA7IGkrKyApewogICAgbGwgeCwgeSA7CiAgICBjaW4gPj4geCA+PiB5IDsKICAgIHZbIHggXS5wYiggeSApIDsKICAgIHZbIHkgXS5wYiggeCApIDsKICB9CiAgdGltZXIgPSAwIDsKICBkZnMoIDEsIDEgKTsKICBmb3IoIGxsIGkgPSAxIDsgaSA8PSBuIDsgaSsrICl7CiAgICBjaW4gPj4gYXJbIGkgXS52YWwgOwogICAgYXJbIGkgXS5pZHggPSBpbmRbIGkgXSA7CiAgfQogIGZvciggbGwgaSA9IDEgOyBpIDw9IG4gOyBpKysgKXsKICAgIHFyWyBpIF0ubCA9IGluZFsgaSBdIDsKICAgIHFyWyBpIF0uciA9IGluZFsgaSBdICsgc3ViWyBpIF0gLSAxIDsKICAgIHFyWyBpIF0uayA9IGFyWyBpIF0udmFsIDsKICAgIHFyWyBpIF0uaWR4ID0gaSA7CiAgfQogIHNvcnQoIGFyICsgMSwgYXIgKyBuICsgMSApIDsKICBzb3J0KCBxciArIDEsIHFyICsgbiArIDEgKSA7CiAgbGwgY3VyKCAxICkgOwogIGZvciggbGwgaSA9IDEgOyBpIDw9IG4gOyBpKysgKXsKICAgIHdoaWxlKCBhclsgY3VyIF0udmFsIDwgcXJbIGkgXS5rIGFuZCBjdXIgPD0gbiApewogICAgICB1cGRhdGUoIGFyWyBjdXIgXS5pZHgsIGFyWyBjdXIgXS52YWwgKSA7CiAgICAgIGN1cisrIDsKICAgIH0KICAgIGFuc1sgcXJbIGkgXS5pZHggXSA9IGdldCggcXJbIGkgXS5yICkgLSBnZXQoIHFyWyBpIF0ubCAtIDEgKSA7CiAgfQogIGxsIHRvdCggMCApIDsKICBmb3IoIGxsIGkgPSAxIDsgaSA8PSBuIDsgaSsrICkKICAgIHRvdCArPSBhbnNbIGkgXSA7CiAgY291dCA8PCB0b3QgPDwgbmwgOwp9