#include <iostream>
using namespace std;
enum Move { a, b, c };
inline Move moveRaw(const Move m) { return Move(m & 0x03ffffff); }
inline bool operator == (const Move m1, const Move m2) { return int(moveRaw(m1)) == int(moveRaw(m2)); }
inline bool operator != (const Move m1, const Move m2) { return !(moveRaw(m1) == moveRaw(m2)); }
int main()
{
Move x = a, y = b;
cout << (x == y) << "," << (x != y) << "\n";
int z = 0, w = 0;
cout << (z == w) << "," << (z != w) << "\n";
cout << (x == z) << "," << (y != w) << "\n";
}