#include using namespace std; long long src(int x, vector s, vector> m, vector& p) { if(p.at(x) != -1) return p.at(x); long long q=0; for(int i=0; i> n; vector s(n); vector a(n-1), b(n-1); for(int i=0; i> s.at(i); for(int i=0; i> a.at(i) >> b.at(i); vector> m(n); for(int i=0; i s.at(b.at(i)-1)) m.at(b.at(i)-1).push_back(a.at(i)-1); else if(s.at(a.at(i)-1) < s.at(b.at(i)-1)) m.at(a.at(i)-1).push_back(b.at(i)-1); } vector p(n, -1); for(int i=0; i