#lang racket
(define-syntax mycompose
(syntax-rules ()
((_) values)
((_ f1 f2 ...)
(lambda (x . more)
(call-with-values
(thunk (apply (mycompose f2 ...) x more))
f1)))))
I2xhbmcgcmFja2V0CgooZGVmaW5lLXN5bnRheCBteWNvbXBvc2UKICAoc3ludGF4LXJ1bGVzICgpCiAgICAoKF8pIHZhbHVlcykKICAgICgoXyBmMSBmMiAuLi4pCiAgICAgKGxhbWJkYSAoeCAuIG1vcmUpCiAgICAgICAoY2FsbC13aXRoLXZhbHVlcwogICAgICAgICh0aHVuayAoYXBwbHkgKG15Y29tcG9zZSBmMiAuLi4pIHggbW9yZSkpCiAgICAgICAgZjEpKSkpKQo=