def METHOD_NAME(self, B: np.ndarray) -> np.ndarray:
    return np.concatenate(
        tuple(
            cur_block.solve(cur_x)
            for cur_block, cur_x in zip(self.blocks, self._split_input(B))
        ),
        axis=-2,
    )