"This and that and the other" from "this and that the other"? if allowed and the program is written correctly, it should loop forever ;)

To put it another way and to expose the unknowns more thoroughly, you need to specify whether order of the words matters (yes=permutation no=combination) and whether words may repeat (yes=something two orders of magnitude more complicated than either!)