Protip if you like coffee and your company has shitty coffee . French Press <| sep |> Prolog blackgreen , orange . blackorange , green . blackblackX blackX . defusewhite , orange , green , orange . defusewhite , orange , orange , green . defusewhite , orangeX blackX . defusered , redX defuseX . defusewhite , white , redX defuseX . defusewhite , whiteX blackX . defuseredX blackX . Output ? defusewhite , white , red , red , red , white , white , black , green , orange true ? defusewhite , black , black , black , black , green , orange false ? defuseblack , green , green false ? defusered , red , white , orange , black , green falsenbspI feel like the bonus should be pretty easy but I guess I don ' t understand Prolog well enough for it . This just hangs for the bonus inputs replX , N , L lengthL , N , maplistX , L . defusableC , NX defusableX , L , replC , N , L . defusableC , NX , A defusableX , L , appendA , M , L , replC , N , M . defusable , A permutationA , L , defuseL .