#define IS_void 1,1
#define EXP(x) x
#define VAR_SECOND(x,y,...) y
#define SEQ(x) VAR_SECOND x
#define IF_1(y) y
#define IF_0(y)
#define CAT(x,y) EXP(x)##EXP(y)
#define IF_VOID(type,macro) CAT( IF_, SEQ((IS_##type,0)) )(macro)
#include <cstdio>
int main(int argc,char *argv[])
{
IF_VOID(void,printf("void"));
IF_VOID(int,printf("int"));
return 0;
}
I2RlZmluZSBJU192b2lkIDEsMQojZGVmaW5lIEVYUCh4KSB4CiNkZWZpbmUgVkFSX1NFQ09ORCh4LHksLi4uKSB5CiNkZWZpbmUgU0VRKHgpIFZBUl9TRUNPTkQgeAojZGVmaW5lIElGXzEoeSkgeQojZGVmaW5lIElGXzAoeSkKI2RlZmluZSBDQVQoeCx5KSBFWFAoeCkjI0VYUCh5KQojZGVmaW5lIElGX1ZPSUQodHlwZSxtYWNybykgQ0FUKCBJRl8sIFNFUSgoSVNfIyN0eXBlLDApKSApKG1hY3JvKQoKI2luY2x1ZGUgPGNzdGRpbz4KCmludCBtYWluKGludCBhcmdjLGNoYXIgKmFyZ3ZbXSkKewogICAgSUZfVk9JRCh2b2lkLHByaW50Zigidm9pZCIpKTsKICAgIElGX1ZPSUQoaW50LHByaW50ZigiaW50IikpOwogICAgcmV0dXJuIDA7Cn0K