#include <assert.h>
#include <vector>
#include <cstring>
#include <cstdlib>
// works only when base is a power of 2
#define ROUND_UPPOW2(val, base) (((val)+(base-1))&~(base-1))