#include <stdio.h>

int main(void);
void print1()
{
	/*JOKE1!*/
	printf("Go1!\n");
}
//This macro wrappes real main(){/*JOKE2!*/} function
#define pain main
void print2()
{
	/*JOKE3!*/
	printf("Go2!\n");
}
#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;
}
