Assignment 1: Turn in: 1. a listing of your code (as efficient as possible, with comments) 2. a listing of a successful executions of your functions 1. Write recursive LISP functions to reverse the top level of a list and to reverse all levels of lists. (Do NOT use the built-in function REVERSE).(10 Points) For Example: (MY-REVERSE '(A B C)) returns (C B A) (MY-REVERSE '((A B) (C D))) returns ((C D) (A B)) (SUPER-REVERSE '(A B C)) returns (C B A) (SUPER-REVERSE '((A B) (C D))) returns((D C) (B A)) (SUPER-REVERSE '(((A B C)))) returns(((C B A))) 2. Write a reccursive function called my-length that will compute the number of elements in a list. (Do NOT use the built-in LENGTH function (5 points) For example: (my-length '(a b c d)) ==> 4 3. Write a recursive insertion sort using a recursive function you write called ripple-item. Ripple-item has two arguments, a single numeric value and an ordered list of numeric items. It returns a single ordered list. (10 Points) (ripple-item 5 '(1 2 7 7)) ==> (1 2 5 7 7) (insertion-sort '( 5 1 2 7 7)) ==> (1 2 5 7 7) -------------------------- Contact: slator@cs.ndsu.edu; Modified: 11feb07