class Solution {
public:
    void push(int value) {
        if(myMin.empty()){
            myMin.push(value);
        }
        if(myMin.top()>value){
            myMin.push(value);
        }
        else{
            myMin.push(myMin.top());
        }
        num.push(value);
    }
    void pop() {
        int x=num.top();
        num.pop();
        myMin.pop();
    }
    int top() {
        return num.top();
    }
    int min() {
        return myMin.top();
    }
    stack<int> num;
    stack<int>myMin;
};