const fs = require("fs"); const input = fs.readFileSync("/dev/stdin", "utf-8").trim(); const lines = input.split("\n"); //グラフの頂点の数 N const N = Number(lines[0]); //隣接行列g let g = []; for (let i = 1; i <= N; i++) { g.push(Array(N).fill(0)); } //各頂点にあるりんごの数 A const A = lines.slice(N,N*2).map(Number); //通れる辺 for (let i = 1; i <= N - 1; i++) { //各辺の両端の頂点 a_i , b_i const [a, b] = lines[i].split(" ").map(