(letrec ((sm (lambda (s v) (if (null? v) '() (cons (* s (car v)) (sm s (cdr v)))))) (va (lambda (x y) (if (null? x) '() (cons (+ (car x) (car y)) (va (cdr x) (cdr y)))))) (DoS (fileVal "Do")) (na (DoS 'DoV)) (Do (DoS 'Do)) (vr vector-ref)) (let ((c (lambda (a) (letrec ((n (vector-length a)) (bt (let ((p 1)) (Do n (lambda (j) (set! p (* (vr a j) p (+ j 1))))) (cons (/ p) (na n (lambda (j) (/ (* p (vr a j) (+ n 1)))))))) (r (lambda (b j)(if(< b 0) (cons 0 '()) (if (= j 0) (let ((t (let r ((n n)(p 1)) (if (= n 0) 1 (* p (r p (- n 1))))))) (cons (* t (car bt)) (sm (* b t) (cdr bt)))) (let* ((s0 (r b (- j 1))) (s1 (r (- b (vr a j)) (- j 1))) (nv (na n (lambda (k) (- (vr (cdr s0) k) (vr (cdr s1) k)))))) (if(= (car s1) 0) s0 (begin (vector-set! nv j (- (vr nv j)(car s1))))) (cons (- (car s0) (car s1)) nv))))))) (r 1 n))))) (c #(2/3 2/3))))