I was trying to create a `std::map` with 2 keys. I can do it with `std::pair` or create a struct and use it as the key.

In my software, there's a search function that is being called a lot. This function searches by the 1st or the 2nd key.

If I had about 1000 items in the map, I'm guessing it will take some time if I wanted to search it. So I thought that if I make another `std::map` that holds the 2nd key and the value is 1st key, then I can take the value and search in the other map to get the real value.

But my guess is that this will take more memory. What is the best option in this scenario?