First implementation, unordered_set