Given a list of words (letters only) in no particular order, output the shortest string containing every word (disregarding case). Output must be lowercase, except the first letter of each word is uppercase. Input can be in upper, lower, or title case as you prefer. When there are multiple minimal solutions, output one.
Code golf.
Sample data
cow,alligator,seal,orangutan
=> SeAlligatOrangutanCow
fish,hamster,mite,shrimp,dog,cat,termite
=> HamsTerMiteFiShrimpDogCat
cat,a,tonic,catatonic,tat,at
=> CaTATonic
or CATaTonic etc
be,a,very,yellow,beaver
=> BeAVerYellow
clocks,locks
=> CLocks
abc,bca,cab,acb,bac,cba
=> ABCaBACba
clocks,lock
=> CLocks
aaa,a
=> Aaa or AAa or AaA (only)