class Solution {
    stack<int> stack_data;
public:
    void push(int value) {
        stack_data.push(value);
    }
    void pop() {
        stack_data.pop();
    }
    int top() {
        return stack_data.top();
    }
    int min() {
        
        int min = 1e9 + 1;
        vector<int> temp;
        stack<int> stack_temp = stack_data;
        while(!stack_temp.empty())
        {
            temp.push_back(stack_temp.top());//在向量容器temp尾部插入
            if(min > stack_temp.top())
            {
                min = stack_temp.top();
            }
            stack_temp.pop();
        }
        return min;
    }
};