Easier than the 500 point solution RecurrenceRelation, Poetry
is pretty straight forward. There's just three things to take care of:

First, we need to split each line of the input up into words, and then examine the last word of the line.
Splitting it up is easy with the String.split() method, using the "\\s+" regular expression. Then
we need to check to make sure it wasn't an empty line. The word we're interested in is the last element
of the result of the split.

Next we need to determine the ending of the word. For this, we start at the end of the word and work
backward until we reach the first vowel. Then we continue backward so long as we continue getting vowels, and
we don't run past the beginning of the String.

Finally, we need a method to determine if a character is a vowel. This is trivial for characters other
than 'y'. 'y' is a vowel unless it is the first or last character of the word.

With that in place, the rest is just housekeeping. We create a char[] named result to hold the label for
each line. nextRhymeLabel holds the character we'll use for the next previously unseen word ending. When
a new ending is encountered, we assign it the value in nextRhymeLabel, and then increment nextRhymeLabel, or
set it to 'A' if it has reached 'z'. We use a HashMap to map endings that we've seen to the labels that
were assigned to them.

There's really nothing difficult about this problem. I'm really surprised that it was not just Division 2 -
500 points.

Thank you for taking the time to read this solution. I welcome
any feedback you may have.