(define (same-parity a . xs)
        (let ((parity (if (odd? a) odd? even?)))
                (define (iter items result)
                        (if (null? items)
                                result
                                (iter (cdr items)
                                        (if (parity (car items))
                                                (cons result (car items))
                                                result))))
                (iter xs a)))

; Testing

(display (same-parity 1 2 3 4 5 6 7 8 9 10))
(newline)
