stack with O(1) findMin operation