scoop(vanilla). scoop(strawberry). scoop(chocolate).
cone(Top,Middle,Bottom):-scoop(Top), scoop(Middle), scoop(Bottom).
go
:- setof(X
+Y
+Z
, cone
(X
,Y
,Z
), List
), length
(List
, N
), write(N
).go3
:- setof(X
+Y
+Z
, (cone
(X
,Y
,Z
), X\
=Y
, Y\
=Z
, X\
=Z
), List
), length
(List
, N
), write(N
),nl.
c2Nvb3AodmFuaWxsYSkuIHNjb29wKHN0cmF3YmVycnkpLiBzY29vcChjaG9jb2xhdGUpLgoKY29uZShUb3AsTWlkZGxlLEJvdHRvbSk6LXNjb29wKFRvcCksIHNjb29wKE1pZGRsZSksIHNjb29wKEJvdHRvbSkuCgpnbzotIHNldG9mKFgrWStaLCBjb25lKFgsWSxaKSwgTGlzdCksIGxlbmd0aChMaXN0LCBOKSwgd3JpdGUoTikuCmdvMjotIGNvbmUoWCxZLFopLCB3cml0ZShYK1krWiksIG5sLCBmYWlsLgpnbzM6LSBzZXRvZihYK1krWiwgKGNvbmUoWCxZLFopLCBYXD1ZLCBZXD1aLCBYXD1aKSwgTGlzdCksIGxlbmd0aChMaXN0LCBOKSwgd3JpdGUoTiksbmwu