#include using namespace __gnu_pbds; template struct betterHash { size_t operator()(T o) const { size_t h = hash()(o) ^ 42394245; //random value h = ((h >> 16) ^ h) * 0x45d9f3b; h = ((h >> 16) ^ h) * 0x45d9f3b; h = ((h >> 16) ^ h); return h; }}; template> using hashMap = gp_hash_table; template> using hashSet = gp_hash_table;