strassen's algorithm and disjoint set union.