stack which returns min element in O(1)