#include <stdio.h>
int main(void);
void print1()
{
/*JOKE1!*/
}
//This macro wrappes real main(){/*JOKE2!*/} function
#define pain main
void print2()
{
/*JOKE3!*/
}
#define main_decl int pain(void){ \
/*REAL1?*/ \
printf("Starting main(){/*JOKE4!*/}\n"); \
__main(); \
printf("Out of main\n"); \
}
main_decl
#define main __main
int main()
{
/*REAL2?*/
print1();
print2();
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbih2b2lkKTsKdm9pZCBwcmludDEoKQp7CgkvKkpPS0UxISovCglwcmludGYoIkdvMSFcbiIpOwp9Ci8vVGhpcyBtYWNybyB3cmFwcGVzIHJlYWwgbWFpbigpey8qSk9LRTIhKi99IGZ1bmN0aW9uCiNkZWZpbmUgcGFpbiBtYWluCnZvaWQgcHJpbnQyKCkKewoJLypKT0tFMyEqLwoJcHJpbnRmKCJHbzIhXG4iKTsKfQojZGVmaW5lIG1haW5fZGVjbCBpbnQgcGFpbih2b2lkKXsgICAgICAgICAgICBcCiAgICAvKlJFQUwxPyovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKCXByaW50ZigiU3RhcnRpbmcgbWFpbigpey8qSk9LRTQhKi99XG4iKTsgXAoJX19tYWluKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCglwcmludGYoIk91dCBvZiBtYWluXG4iKTsgICAgICAgICAgICAgICAgIFwKfQoKbWFpbl9kZWNsCgojZGVmaW5lIG1haW4gX19tYWluCgppbnQgbWFpbigpCnsKCS8qUkVBTDI/Ki8KCXByaW50MSgpOwoJcHJpbnQyKCk7CglyZXR1cm4gMDsKfQo=