fork download
  1. decart2 po pre = map ((pre++) . (:[])) po
  2. decart l0 l = foldl (\pre po -> concat $ map (decart2 po) pre) [l0] l
  3. main = print $ decart ["Kisaragi", "Saya"] [["palto", "noski", "shapki"], ["red", "black", "white"]]
Success #stdin #stdout 0s 5732KB
stdin
Standard input is empty
stdout
[["Kisaragi","Saya","palto","red"],["Kisaragi","Saya","palto","black"],["Kisaragi","Saya","palto","white"],["Kisaragi","Saya","noski","red"],["Kisaragi","Saya","noski","black"],["Kisaragi","Saya","noski","white"],["Kisaragi","Saya","shapki","red"],["Kisaragi","Saya","shapki","black"],["Kisaragi","Saya","shapki","white"]]