All the files in this directory except Hash.cc are complete. You need to finish Hash.cc, and you may modify any of the other files in this directory as you like. Don't change the names of the files, though. See the ./Test subdirectory for running tests of your code. Please make sure that whatever you turn in compiles with the test functions in the Test directory. Run "make test" in that directory to check, and to get an estimate of the score your program will receive (but note that the score output by the test may not be the final score, depending on adjustments made by your grader). Assuming the hash function distributes the keys well in the hash table, each of your hash table operations should take O(1) time, not counting the time to resize the data structures. Total time spent resizing the data structures (for a sequence of N operations) should be O(N). Total memory used should be O(M), where M is the maximum number of distinct keys that are ever in the hash table at the same time.