class Solution {
public:
    #include<stack>
    stack<int>s,tmp;
    void push(int value) {
        s.push(value);
    }
    void pop() {
        s.pop();
    }
    int top() {
        return s.top();
    }
    int min() {
      /*  while(s.size()>1)
        {
            tmp.push(s.top());
            s.pop();
        }
        tmp.push(s.top());
        int ans=s.top();
        s.pop();
        while(!tmp.empty())
        {
            s.push(tmp.top());
            tmp.pop();
        }*/
        int ans=s.top();
        while(!s.empty())
        {
            tmp.push(s.top());
            if(s.top()<ans)
                ans=s.top();
            s.pop();
        }
        while(!tmp.empty())
        {
            s.push(tmp.top());
            tmp.pop();
        }
        return ans;
    }
};