In this assignment, you are asked to write a multi-threaded C program that solves a word-puzzle. The goal is to find and print out all occurrences of meaningful English words with a certain length in a given string of two billion characters long randomly generated by the C program in "randomgen.c" file given on Canvas. In order to test a given word and find out whether it is meaningful or not, you must perform spell-checking by doing a binary search over the alphabetically sorted list of all English words with their correct spellings. The list is given in the file "dict.txt" on Canvas and the following function is given that performs binary search: