#include <stdio.h>
int (*compose(int(*f)(), int(*g)()))() {
int h(int x) {
return f(g(x));
}
return &h;
}
int dbl(int x) {
return x * 2;
}
int sqr(int x) {
return x * x;
}
int main() {
printf("%d", compose
(dbl
, sqr
)(5)); return 0;
}
CiNpbmNsdWRlIDxzdGRpby5oPgoKaW50ICgqY29tcG9zZShpbnQoKmYpKCksIGludCgqZykoKSkpKCkgewogICAgaW50IGgoaW50IHgpIHsKICAgICAgICByZXR1cm4gZihnKHgpKTsKICAgIH0KICAgIHJldHVybiAmaDsKfQoKaW50IGRibChpbnQgeCkgewogICAgcmV0dXJuIHggKiAyOwp9CgppbnQgc3FyKGludCB4KSB7CiAgICByZXR1cm4geCAqIHg7Cn0KCmludCBtYWluKCkgewoJcHJpbnRmKCIlZCIsIGNvbXBvc2UoZGJsLCBzcXIpKDUpKTsKCXJldHVybiAwOwp9Cg==