# Problem #67 [Hard]
# Implement an LFU (Least Frequently Used) cache. It should be able to be initialized with a cache size n,
# and contain the following methods:
#
#     set(key, value): sets key to value. If there are already n items in the cache and we are adding a new item,
#           then it should also remove the least frequently used item. If there is a tie, then the least recently
#           used key should be removed.
#     get(key): gets the value at key. If no such key exists, return null.
#
# Each operation should run in O(1) time.

# i thought that this one could be easy since i did the LRU just the other day, but it wasnt. I spent a little more
# than one hour trying to do it but i couldnt. Specially because of the O(1) restriction. So i went online to find a
# way to do it. after some looking and code reading i think that i kinda understand what i am supposed to do, but i
# dont have the time to do it right now, mainly because i already put 2 hours on this, will try to came back later
