(define (lon=? a-lon1 a-lon2)
  (cond [(and (empty? a-lon1) (empty? a-lon2))
	 true]
	[(and (empty? a-lon1) (cons? a-lon2))
	 false]
	[(and (cons? a-lon1) (empty? a-lon2))
	 false]
	[(and (cons? a-lon1) (cons? a-lon2))
	 (and (= (first a-lon1) (first a-lon2))
	      (lon=? (rest a-lon1) (rest a-lon2)))]))




(define (in-lon? n a-lon)
  (cond [(empty? a-lon) false]
	[(cons? a-lon)  (or (= n (first a-lon))
			    (in-lon? n (rest a-lon)))]))

(define (lon-subset-contents? a-lon1 a-lon2)
  (cond [(empty? a-lon1) true]
	[(cons? a-lon1)  (and (in-lon? (first a-lon1) a-lon2)
			      (lon-subset-contents? (rest a-lon1) a-lon2))]))
