produit cartesien iterative and recursive with mapcar
change the name