#include <stdio.h>
unsigned long hash(const char *str) {
//Initializes the hash value with a starting seed of 5381.
unsigned long hash = 5381;
int c;
while ((c = *str++))
hash = ((hash << 5) + hash) + c; // hash * 33 + c
return hash;
}
int main() {
printf("%lu\n", hash("Hello, World!"));
return 0;
}
/*
run:
5904905660241445518
*/