JavaFan,
I agree that edge cases are important here but I think the requirements are very ill defined to even point them out. Is each list to be read from left to right as item 1 is parent to item to which is parent to item 3? Is there any way for a branch to have more than one child in a single list? Does the order of the words matter? I think a lot is implied that should be stated explicitly.