Write Scheme code for all of these so that another person can read it. 1. Write a procedure eq?-los-list that takes a symbol, s, and a list of symbols, los, and returns a list of results of eq? (eq?-los-list 'x '()) ==> () (eq?-los-list 'x '(x y z)) ==> (#t #f #f) (eq?-los-list 'x '(foo y)) ==> (#f #f) 2. Write a procedure and-reduce that takes a list of booleans, lob, and returns a boolean. It returns #t if and only if no element of the list lob is #f. (and-reduce '()) ==> #t (and-reduce '(#t #f #t)) ==> #f (and-reduce '(#t #t)) ==> #t 3. Write a procedure los-equal? that takes 2 lists of symbols, los1 and los2, and returns a boolean. It should return the same as (equal? los1 los2), but you CAN'T use equal? in your answer. Assume the lists are the same length. (los-equal? '(a b c) '(a b c)) ==> #t (los-equal? '(a a) '(b b)) ==> #f (los-equal? '() '()) ==> #t