#define MAX(x,y) (x > y ? x : y)
#define HASH_TABLE_SIZE 16381

#define LIB_BUCKETS 37
#define LIB_FREEPOS 37
#define ROTR(x,bits) (((x << (16 - bits)) | (x >> bits)) & 0xffff)
#define ROTL(x,bits) (((x << bits) | (x >> (16 - bits))) & 0xffff)

typedef uint hv;
typedef struct {
  hv block_x,bucket_x,block_d,bucket_d;
} HASH;
#include "dict.p"