int nextPowerOfTwo(int n) { if (n <= 0) return 1; int v = n - 1; v |= v >> 1; v |= v >> 2; v |= v >> 4; v |= v >> 8; v |= v >> 16; return v + 1; }