cartesian-product-switch