int printf(const char * restrict format, ...);
#define DBG(fmt,val) (printf(#val ": " fmt "\n",val))
enum a { e0, e1, e2, e3 };
enum b { e4 = e3 + 1, e5, e9 = e3*3, e10 };
enum c { e20 = 20, e15 = 15, e16, e17, emm = -2, em, e0a };
int main() {
DBG("%d",e0);
DBG("%d",e1);
DBG("%d",e2);
DBG("%d",e3);
DBG("%d",e4);
DBG("%d",e5);
DBG("%d",e9);
DBG("%d",e10);
DBG("%d",e20);
DBG("%d",e15);
DBG("%d",e16);
DBG("%d",e17);
DBG("%d",emm);
DBG("%d",em);
DBG("%d",e0a);
}