Replaced HashTable with std::unordered_map
Fixed an off-by-one bug with NUM_KEYS