self.parent[x] = self.find(self.parent[x])
if self.connected(p, q): return
self.parent[leader_p] = leader_q
def connected(self, p, q):
return self.find(p) == self.find(q)
def solve(self, A, B, C):
group = collections.defaultdict(list)
group[uf.find(i)].append(i)
values = collections.Counter([A[i] for i in indices])