#include <iostream>
// a 1010
// b 1111
// a ^= b;
// a = 0101
// b ^= a;
// b = 1010
// a ^= b;
// a = 1111
// Define swapPtr(int* a, int* b)
void swapPtr(int* a, int* b)
{
if (a && b) {
*a ^= *b;
*b ^= *a;
*a ^= *b;
}
}
// Define swapRef(int& a, int& b)
void swapRef(int& a, int& b)
{
a ^= b;
b ^= a;
a ^= b;
}
int main() {
int x, y;
std::cin >> x >> y;
int a = x, b = y;
swapPtr(&a, &b);
std::cout << "After swapPtr: a=" << a << " b=" << b << "\n";
int c = x, d = y;
swapRef(c, d);
std::cout << "After swapRef: a=" << c << " b=" << d;
return 0;
}