Difference Lists Prolog