>>>>>>>>>>
First of all you still have an off-by-one bug. There should be a "to" at the beginning of that list, which you didn't output.
<<<<<<<<<<<

Nope. They said that derivations start at 3-letter words.

As to deriving downward... Interesting. Going to try this one.
(but the slowest part for me is actually loading data...)