(defun solve (l n w) (let ((insize 0) (i 0)) (sort w #'<) (loop (if (or (> insize l) (= i n)) (return i)) (incf insize (aref w i)) (if (<= insize l) (incf i))))) (defun read-vec (n) (let ((res (make-array n :initial-element 0))) (dotimes (i n) (setf (aref res i) (read))) res)) (defun main () (let* ((L (read)) (N (read)) (W (read-vec N))) (format t "~A~%" (solve L N W)))) (main)