#include <iostream>
#define L (
#define R )
#define C ,
#define S ;
#define CALL(func, x, y) func(x, y)
void foo(int x, int y) {
std::cout << "foo(" << x << ", " << y << ")\n";
}
#define X(y) y
int main() {
CALL(foo, 1, 2); // "foo(1, 2)"
CALL(foo, 3 C 4 R S L 1, 2); // "foo(3, 4)"
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKI2RlZmluZSBMICgKI2RlZmluZSBSICkKI2RlZmluZSBDICwKI2RlZmluZSBTIDsKCiNkZWZpbmUgQ0FMTChmdW5jLCB4LCB5KSBmdW5jKHgsIHkpCgp2b2lkIGZvbyhpbnQgeCwgaW50IHkpIHsKCXN0ZDo6Y291dCA8PCAiZm9vKCIgPDwgeCA8PCAiLCAiIDw8IHkgPDwgIilcbiI7Cn0KCiNkZWZpbmUgWCh5KSB5CgppbnQgbWFpbigpIHsKCUNBTEwoZm9vLCAxLCAyKTsgLy8gImZvbygxLCAyKSIKCUNBTEwoZm9vLCAzIEMgNCBSIFMgTCAxLCAyKTsgLy8gImZvbygzLCA0KSIKfQ==