98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 15, 5, 50, 25, 10, 30, 20, 35, 40, 0, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 0, 98, 98, 98, 98, 98, 98, 98, 0, 98, 98, 57, 98, 98, 0, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 55, 25, 10, 30, 50, 98, 10, 40, 98, 45, 98, 0, 10, 20, 5, 98, 20, 5, 0, 98, 98, 98, 10, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98
137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,   5,   5, 10,  20,  15,  25,   0,  30,  35,  40, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,  60,  10, 50,   0,  52, 137,  40,  40, 137,  25,   0,   0, 15,  61,  15, 137,   0,  15,  52, 137, 137, 137, 20, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137, 137
static inline unsigned int hash(register const char *str, register unsigned int len){	static const unsigned char asso_values[] = {		98, 98, 98, 98, 98, 98, 98, 98, 98, 98,		98, 98, 98, 98, 98, 98, 98, 98, 98, 98,		98, 98, 98, 98, 98, 98, 98, 98, 98, 98,		98, 98, 98, 98, 98, 98, 98, 98, 98, 98,		98, 98, 98, 98, 98, 98, 98, 98, 15, 5,		50, 25, 10, 30, 20, 35, 40, 0, 98, 98,		98, 98, 98, 98, 98, 98, 98, 98, 0, 98,		98, 98, 98, 98, 98, 98, 0, 98, 98, 57,		98, 98, 0, 98, 98, 98, 98, 98, 98, 98,		98, 98, 98, 98, 98, 98, 98, 98, 55, 25,		10, 30, 50, 98, 10, 40, 98, 45, 98, 0,		10, 20, 5, 98, 20, 5, 0, 98, 98, 98,		10, 98, 98, 98, 98, 98, 98, 98, 98, 98,		98, 98, 98, 98, 98, 98, 98, 98, 98, 98,		98, 98, 98, 98, 98, 98, 98, 98, 98, 98,		98, 98, 98, 98, 98, 98, 98, 98, 98, 98,		98, 98, 98, 98, 98, 98, 98, 98, 98, 98,		98, 98, 98, 98, 98, 98, 98, 98, 98, 98,		98, 98, 98, 98, 98, 98, 98, 98, 98, 98,		98, 98, 98, 98, 98, 98, 98, 98, 98, 98,		98, 98, 98, 98, 98, 98, 98, 98, 98, 98,		98, 98, 98, 98, 98, 98, 98, 98, 98, 98,		98, 98, 98, 98, 98, 98, 98, 98, 98, 98,		98, 98, 98, 98, 98, 98, 98, 98, 98, 98,		98, 98, 98, 98, 98, 98, 98, 98, 98, 98,		98, 98, 98, 98, 98, 98	};	return len + asso_values[(unsigned char)str[len - 1]] + asso_values[(unsigned char)str[0]];}