* * * * (an input routine in computer program performs similar series of multiplications and additions to convert sequence of digitsentered at the keyboardinto number stored in memory in this system we break number into its digitsmultiply them by appropriate powers of (because there are possible digits)and add the products in similar way we can decompose word into its lettersconvert the letters to their numerical equivalentsmultiply them by appropriate powers of (because there are possible charactersincluding the blank)and add the results this gives unique number for every word say we want to convert the word cats to number we convert the digits to numbers as shown earlier then we multiply each number by the appropriate power of and add the results * * * * calculating the powers gives * , * * * and multiplying the letter codes times the powers yields , which sums to , this process does indeed generate unique number for every potential word we just calculated four-letter word what happens with larger wordsunfortunately the range of numbers becomes rather large the largest -letter wordzzzzzzzzzztranslates into * * * * * * * * * * just by itself is more than , , , , so you can see that the sum will be huge an array stored in memory can' possibly have this many elements the problem is that this scheme assigns an array element to every potential wordwhether it' an actual english word or not thus there are cells for aaaaaaaaaaaaaaaaaaabaaaaaaaaacand so onup to zzzzzzzzzz only small fraction of these are necessary for real wordsso most array cells are empty this is shown in figure figure index for every potential our first scheme--adding the numbers--generated too few indices this latest scheme-