swap
#define swap(a, b) { \
#define swap(a, b) \
#define swap(a, b, t) t = a, a = b, b = t
#define swap(loc, val) ({ \
#define swap(a, b) \
swap(void)
#define swap(a, b, t) t = a, a = b, b = t