#include <stdlib.h>
#include <stdio.h>
#define TRUE 1
#define FALSE 0
int min(int a, int b) {return a > b ? b : a;}
int max(int a, int b) {return a > b ? a : b;}
int call_them(int (*func)(int, int), int a, int b)
{
return func(a, b);
}
int foo(int do_min) {
int (*func) (int, int);
if (do_min)
func = min;
else
func = max;
return call_them(func, 10, 20);
}
int main()
{
return 0;
}
I2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8c3RkaW8uaD4KCiNkZWZpbmUgVFJVRSAxCiNkZWZpbmUgRkFMU0UgMAoKaW50IG1pbihpbnQgYSwgaW50IGIpIHtyZXR1cm4gYSA+IGIgPyBiIDogYTt9CmludCBtYXgoaW50IGEsIGludCBiKSB7cmV0dXJuIGEgPiBiID8gYSA6IGI7fQoKaW50IGNhbGxfdGhlbShpbnQgKCpmdW5jKShpbnQsIGludCksIGludCBhLCBpbnQgYikKewogICByZXR1cm4gZnVuYyhhLCBiKTsKfQoKaW50IGZvbyhpbnQgZG9fbWluKSAgewogICBpbnQgKCpmdW5jKSAoaW50LCBpbnQpOwoKICAgaWYgKGRvX21pbikKICAgICAgZnVuYyA9IG1pbjsKICAgZWxzZQogICAgICBmdW5jID0gbWF4OwoKICAgcmV0dXJuIGNhbGxfdGhlbShmdW5jLCAxMCwgMjApOwp9CgppbnQgbWFpbigpCnsKICAgcHJpbnRmKCIlZFxuIiwgZm9vKFRSVUUpKTsKICAgcmV0dXJuIDA7Cn0K