(defparameter temp (read-from-string (concatenate 'string "(" (read-line) ")"))) (defparameter N (nth 0 temp)) (defparameter M (nth 1 temp)) (defparameter C (read-from-string (concatenate 'string "(" (read-line) ")"))) (setf C (sort C #'< )) ;(print C) (defparameter sum 0) (defparameter cnt 0) (loop while (< sum M ) do (if (<= (+ sum (car C)) M) (incf cnt)) (setq sum (+ sum (car C))) (setq C (cdr C)) ) (format t "~d~%" cnt)