(define factorial
(lambda (n)
(if (= n 1)
1
(* n (factorial (- n 1))))))
(define square
(lambda (n)
(if (= n 0)
0
(+ (square (- n 1))
(- (+ n n) 1)))))
(define factorial
(lambda (n)
(factorial-1 n 1)))
(define factorial-1
(lambda (n result)
(if (= n 1)
result
(factorial-1 (- n 1) (* n result)))))