> drink
analyze(drink) =  st:drink po:noun
analyze(drink) =  st:drink po:verb	al:drank	al:drunk	ts:present
stem(drink) = drink
> drinks
analyze(drinks) =  st:drink po:verb	al:drank	al:drunk	ts:present is:sg_3
analyze(drinks) =  st:drink po:noun is:plur
stem(drinks) = drink
> drinkable
analyze(drinkable) =  st:drink po:verb	al:drank	al:drunk	ts:present ds:der_able
stem(drinkable) = drinkable
> drinkables
analyze(drinkables) =  st:drink po:verb	al:drank	al:drunk	ts:present ds:der_able is:plur
stem(drinkables) = drinkable
> undrinkable
analyze(undrinkable) = dp:pfx_un sp:un  st:drink po:verb	al:drank	al:drunk	ts:present ds:der_able
stem(undrinkable) = undrinkable
> undrinkables
analyze(undrinkables) = dp:pfx_un sp:un  st:drink po:verb	al:drank	al:drunk	ts:present ds:der_able is:plur
stem(undrinkables) = undrinkable
> drank
analyze(drank) =  po:verb	st:drink	is:past_1
stem(drank) = drink
> drunk
analyze(drunk) =  po:verb	st:drink	is:past_2
stem(drunk) = drink
> phenomenon
analyze(phenomenon) =  st:phenomenon po:noun	al:phenomena
stem(phenomenon) = phenomenon
> phenomena
analyze(phenomena) =  po:noun st:phenomenon	is:plur
stem(phenomena) = phenomenon
generate(drink, eat) = drink
generate(drink, eats) = drinks
generate(drink, ate) = drank
generate(drink, eaten) = drunk
generate(drink, eatable) = drinkable
generate(drink, eatables) = drinkables
generate(drink, phenomena) = drinks
generate(drinks, eat) = drink
generate(drinks, eats) = drinks
generate(drinks, ate) = drank
generate(drinks, eaten) = drunk
generate(drinks, eatable) = drinkable
generate(drinks, eatables) = drinkables
generate(drinks, phenomena) = drinks
generate(undrinkable, phenomena) = undrinkables
generate(phenomenon, drinks) = phenomena
