how to make pairs using nested loop in lisp : I am trying to make pairs function in lisp. Pairs function gets 2 inputs then makes pair each other and make one list. Here is my code.

    (defun npair (s1 s2)
     (let ((result '()))
      (cond ((null s1) s2)
            ((null s2) s1)
            (t (loop  
                 (when (null s1) (return result))  
                 (while (not (null s2))
                   (setq result (cons (list (car s1) (car s2)) result))
                   (setq s2 (cdr s2))
                 )
                 (setq s1 (cdr s1))
                )
            )
       )
      )
     )

This function should have returned like (npair '(a b c) '(1 2)) -> ((a 1) (a 2) (b 1) (b 2) (c 1) (c 2))

But my result is only ((a 1) (a 2)) 
Please help!!