func merge(a int, b int) { a = find(a) b = find(b) if a == b { return } root[b] = a } func find(n int) int { if root[n] < 0 { return n } root[n] = find(root[n]) return root[n] }