This question is about search. (a) Explain how an algorithm, EQUALS( a,b b might check if two words, a and b, are identical. For example, if x= "computer" and y= "algorithm" and z= "computer" then EQUALS (x,y) would return false, but EQUALS (x,z) would return true. (You can assume that a word is represented as a sequence of characters.) [5 marks] (b) Suppose each word in a long book is stored in an array. For example, an array holding each word of the book 'Introduction to Algorithms' by Cormen et al would begin <n, "Before", "there", "were", "computers", "there", "were", "algorithms", ...> where n is the number of words in the book. Devise an algorithm to check if a particular word, for example "crazy", or "greedy", occurs in the book. Your algorithm can freely use EQUALS(a, b) without having to provide an implementation. Draw a flowchart representation of your algorithm. [5 marks] (c) Express your algorithm in part (a) as pseudocode. [5 marks].