bug union(p, q) -- union(q,p) fixed