Implement a stack which keeps track of its minimum value. Challenge: can you keep the operation time complexity to O(1)? Hint: Try using some extra space. What data structure might work for keeping track of minimums?