#include using namespace std; using ll = long long; #define sz(x) ((int)(x).size()) #define all(x) (x).begin(), (x).end() template T _lg_check(T n) { assert(n > 0); return __lg(n); } #define __lg _lg_check namespace util { mt19937 rd(0); int randint(int l, int r) { assert(l <= r); return uniform_int_distribution(l, r)(rd); } int randint(int x) { assert(x > 0); return randint(0, x-1); } int randint() { return randint(-1'000'000, +1'000'000); } }