anchor.diff:  	(defun subsetsum (L S)
   		(cond 
   			((null L) nil)
  +
   			((> (car L) S)
   				(subsetsum (cdr L) S)
   			)
  +
   			((= (car L) S)
   				(cons (car L) ()))
   				;(cons (car L))
  +
   			((< (car L) S)
  -				(if (null (subsetsum (cdr L) (- s (car L))))
  +				(if (null (subsetsum (cdr L) (- S (car L))))
   					(subsetsum (cdr L) S)
   					(cons (car L) (subsetsum (cdr L) (- S (car L))))
   				)
  
positive.code: 		)
  	)
  
  ;QUESTION TWO
  ; Where the arugment x is a list with sublists nested to any depth, such that the resuly of (flatten x) is just a list of atoms with the property
  ; all the atoms appearing in the x also appear in (flatten x) and in the same order. Make assumption: NIL & () will not appear in list x
  ;	Examples:
  ;	(flatten '(a (b c) d)) --> (a b c d)
  ;	(flatten '((((a))))) --> (a)
  ;	(flatten '(a (b c) (d ((e)) f))) --> (a b c d e f)
  
  	(defun flatten (X)
  		(cond 
  
negative.code: 
  	Breaking this down you realize we simply take a list, split it up into two and take the first
  	list and second list and mix it back together so no doubt we are bound to get the same list back.
  |#
  
  
  