struct StackElem
{
  StackElem(int d, StackElem *n) 
    { data = d; next = n; }
  int data;
  StackElem *next;
};


class Stack
{
 public:
  Stack(); 
  ~Stack();
  
  void Push(int x);
  int Pop();   

 private:
  StackElem *head;
};