#define fizz 3 #define buzz 5 #ifndef x #include #include char *q = (char*)101, *r = "%s\n\0%d\n"; void f(char* s, ...) { va_list ap; va_start(ap, s); while(s) { printf(r + 4 * (s < q), s); s = va_arg(ap, char*); } } int main(void) { f( #define j ((((x)<<3) + ((x)<<1))+y+1) #define g(k,l) !(j%(k*l)) ? (l>1 ? #k#l : #k) : #define f g(fizz,buzz) g(fizz,1) g(buzz,1) (char*)j, #define x 0 #include __FILE__ #undef x #define x 1 #include __FILE__ #undef x #define x 2 #include __FILE__ #undef x #define x 3 #include __FILE__ #undef x #define x 4 #include __FILE__ #undef x #define x 5 #include __FILE__ #undef x #define x 7 #include __FILE__ #undef x #define x 010 #include __FILE__ #undef x #define x 011 #include __FILE__ 0); return 0; } #else #ifdef y f #else #define y 0 #include __FILE__ #undef y #define y 1 #include __FILE__ #undef y #define y 2 #include __FILE__ #undef y #define y 3 #include __FILE__ #undef y #define y 4 #include __FILE__ #undef y #define y 5 #include __FILE__ #undef y #define y 6 #include __FILE__ #undef y #define y 7 #include __FILE__ #undef y #define y 8 #include __FILE__ #undef y #define y 9 #include __FILE__ #undef y #endif #endif