1. There is a Common Lisp function list-all-packages. In the Debug Window of Allegro CL 6.2 for Windows enter list-all-packages and without entering a either enter the f1 key or select Help on Selected Symbol on the Allegro CL Help menu. Define a function which prints the name of every package for which the first element of the list of packages it uses is the Common Lisp package. (The Common Lisp functions first and car each take a list as argument and return the first element of the list) Define another function which prints the name of every package for which one of the packages it uses is the Common Lisp package. 2. Define a function which searches for an element in a list. When the test succeeds the function should return that part of the list of which the element found is the first element. (you may want to use one of the Common Lisp functions rest and cdr, each of which take a list argument and return a list which differs from its argument in that the first element is no longer on the list) 3. Define a function which takes as arguments a symbol in the keyword package and a list, of which alternating elements (specifically the first, third, fifth ...) are keywords. An example of such a list is (:california sacramento :illinois springfield :vermont montpelier) The function should attempt to match the first argument to the function with the first, third, fifth ... elements of the list. When the test succeeds the function should return the list element after the one for which the match was made. 4. Define a function which takes as arguments any lisp object and a list of lists. The function should attempt to match the first argument with the first elements of each of the sublists in the second argument. As soon as a match is made, the function should return the sublist for which the match succeeded.