#pragma once template inline T clamp(T v, T a, T b) { return min(max(v, a), b); } template inline void swap(T& a, T& b) { T t = b; b = a; a = t; } #define bm(V) (((uint64_t)1 << V) - 1); #define size(V) (sizeof(V) / sizeof(V[0]))