#include <iostream>
int main()
{
struct S { int marker1; int marker2; int item1; int item2; };
#define DISPATCH_ID(S, item) ((offsetof(S, item) - offsetof(S, marker2)) /
(offsetof(S, marker2) - offsetof(S, marker1)))
std::cout << DISPATCH_ID(S, item1) << "," << DISPATCH_ID(S, item2);
return 0;
}