Firstly you need to define what you mean by a word. Is "it's" a word? What about hypthenated words?

Then there are several ways of breaking out the words. For a non-throw away program, it's...