pub fn subtree_size(
    p: usize,
    u: usize,
    G: &Vec<Vec<usize>>,
    W: &[usize],
    res: &mut [usize]
)