(LETREC FUNRET (FUNRET LAMBDA (X Y) (LET (MAPCAR Z Y) (Z IF (EQ X (QUOTE 0)) ADD1 SUB1))) (MAPCAR LAMBDA (FUN LST) (IF (EQ LST (QUOTE NIL)) (QUOTE NIL) (CONS (FUN (CAR LST)) (MAPCAR FUN (CDR LST))))) (ADD1 LAMBDA (X) (ADD (QUOTE 1) X)) (SUB1 LAMBDA (X) (SUB X (QUOTE 1))))&