Extend the implementation of the function hash in Dictionary.java so that it correctly deals with strings that are composed of lower case letters, upper case letters, and digits. In other words, the user would like to use the Dictionary class to insert, delete, or search strings such as "Windows98" or "301McLeanHall." Recall that currently the hash function assumes that it is given strings that are composed of lower case letters only.
In the process of extending the hash function, make sure that you do not loose any of the "good" features that the implementation currently has (e.g., the use of Horner's rule, the use of bit shifting, etc.). You do not have to modify any portion of Dictionary.java other than the function hash.