(define (square x)
(* x x))
(define (abs-and-square x y)
(cond
((> x 0)
(values x (square y)))
((< x 0)
(values (- x) (square y)))))
(let-values (((abs square) (abs-and-square 3 4)))
(display abs)
(display " ")
(display square))
(newline)
(let-values (((abs square) (abs-and-square -3 4)))
(display abs)
(display " ")
(display square))
KGRlZmluZSAoc3F1YXJlIHgpCgkoKiB4IHgpKQoKKGRlZmluZSAoYWJzLWFuZC1zcXVhcmUgeCB5KQoJKGNvbmQKCQkoKD4geCAwKQoJCSAodmFsdWVzIHggKHNxdWFyZSB5KSkpCgkJKCg8IHggMCkKCQkgKHZhbHVlcyAoLSB4KSAoc3F1YXJlIHkpKSkpKQoJCQoobGV0LXZhbHVlcyAoKChhYnMgc3F1YXJlKSAoYWJzLWFuZC1zcXVhcmUgMyA0KSkpCiAgICAgICAgICAgIChkaXNwbGF5IGFicykKICAgICAgICAgICAgKGRpc3BsYXkgIiAiKQogICAgICAgICAgICAoZGlzcGxheSBzcXVhcmUpKQoobmV3bGluZSkKKGxldC12YWx1ZXMgKCgoYWJzIHNxdWFyZSkgKGFicy1hbmQtc3F1YXJlIC0zIDQpKSkKICAgICAgICAgICAgKGRpc3BsYXkgYWJzKQogICAgICAgICAgICAoZGlzcGxheSAiICIpCiAgICAgICAgICAgIChkaXNwbGF5IHNxdWFyZSkp