Currently, the product builds the whole Cartesian product. Let's build the reachable part only.
Currently, the product builds the whole Cartesian product. Let's build the reachable part only.