# include <iostream>
using namespace std;
#define VA_NUM_ARGS(...) VA_NUM_ARGS_IMPL(0,__VA_ARGS__, 5,4,3,2,1)
#define VA_NUM_ARGS_IMPL(_0,_1,_2,_3,_4,_5,N,...) N
#define macro_dispatcher(macro, ...) macro_dispatcher_(macro, VA_NUM_ARGS(__VA_ARGS__))
#define macro_dispatcher_(macro, nargs) macro_dispatcher__(macro, nargs)
#define macro_dispatcher__(macro, nargs) macro ## nargs
#define DBN(...) macro_dispatcher(DBN, __VA_ARGS__)(__VA_ARGS__)
#define DBN1(a) cerr<<#a<<"="<<(a)<<"\n"
#define DBN2(a,b) cerr<<#a<<"="<<(a)<<" "<<#b<<"="<<(b)<<"\n"
#define DBN3(a,b,c) cerr<<#a<<"="<<(a)<<" "<<#b<<"="<<(b)<<" "<<#c<<"="<<(c)<<"\n"
#define DBN4(a,b,c,d) cerr<<#a<<"="<<(a)<<" "<<#b<<"="<<(b)<<" "<<#c<<"="<<(c)<<" "<<#d<<"="<<(d)<<"\n"
// ...
int main()
{
int x = 5, y = 10;
DBN(x, y, x*y+2);
DBN(x+1, y/x);
return 0;
}
IyBpbmNsdWRlIDxpb3N0cmVhbT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNkZWZpbmUgVkFfTlVNX0FSR1MoLi4uKSBWQV9OVU1fQVJHU19JTVBMKDAsX19WQV9BUkdTX18sIDUsNCwzLDIsMSkKI2RlZmluZSBWQV9OVU1fQVJHU19JTVBMKF8wLF8xLF8yLF8zLF80LF81LE4sLi4uKSBOCgojZGVmaW5lIG1hY3JvX2Rpc3BhdGNoZXIobWFjcm8sIC4uLikgbWFjcm9fZGlzcGF0Y2hlcl8obWFjcm8sIFZBX05VTV9BUkdTKF9fVkFfQVJHU19fKSkKI2RlZmluZSBtYWNyb19kaXNwYXRjaGVyXyhtYWNybywgbmFyZ3MpIG1hY3JvX2Rpc3BhdGNoZXJfXyhtYWNybywgbmFyZ3MpCiNkZWZpbmUgbWFjcm9fZGlzcGF0Y2hlcl9fKG1hY3JvLCBuYXJncykgbWFjcm8gIyMgbmFyZ3MKCiNkZWZpbmUgREJOKC4uLikgbWFjcm9fZGlzcGF0Y2hlcihEQk4sIF9fVkFfQVJHU19fKShfX1ZBX0FSR1NfXykKCiNkZWZpbmUgREJOMShhKQkJCWNlcnI8PCNhPDwiPSI8PChhKTw8IlxuIgojZGVmaW5lIERCTjIoYSxiKQkJY2Vycjw8I2E8PCI9Ijw8KGEpPDwiICAiPDwjYjw8Ij0iPDwoYik8PCJcbiIKI2RlZmluZSBEQk4zKGEsYixjKQkJY2Vycjw8I2E8PCI9Ijw8KGEpPDwiICAiPDwjYjw8Ij0iPDwoYik8PCIgICI8PCNjPDwiPSI8PChjKTw8IlxuIgojZGVmaW5lIERCTjQoYSxiLGMsZCkJY2Vycjw8I2E8PCI9Ijw8KGEpPDwiICAiPDwjYjw8Ij0iPDwoYik8PCIgICI8PCNjPDwiPSI8PChjKTw8IiAgIjw8I2Q8PCI9Ijw8KGQpPDwiXG4iCi8vIC4uLgoKCmludCBtYWluKCkKewoJaW50IHggPSA1LCB5ID0gMTA7CgoJREJOKHgsIHksIHgqeSsyKTsKIAlEQk4oeCsxLCB5L3gpOwoKCXJldHVybiAwOwp9Cgo=