inline void sortX(int& a, int& b) { int x = -(a > b) & (a ^ b); a ^= x; b ^= x; } inline void sort(int& a, int& b) { if (a > b) { int oldB = b; b = a; a = oldB; } } int mid( int a, int b, int c ) { sortX(a, b); sort(b, c); sort(a, b); return b; }