#include typedef uint64_t u64; #define Z (~(u64)0) int f(u64 x) { x ^= x-1; x = (x & (Z/3)) + ((x >> 1) & (Z/3)); x = (x & (Z/5)) + ((x >> 2) & (Z/5)); x = (x & (Z/17)) + ((x >> 4) & (Z/17)); return (x % 255) - 1; }