class NodoLista{
  public String info;
  public NodoLista next;
}

public class PilaL {
  // rappresentazione degli oggetti
  private NodoLista nodoinit; 

  //metodi pubblici
  public PilaL(){
    nodoinit = null;
  }
	
  public boolean estVuota(){
    return nodoinit == null;
  }
  
  public void push(String s){
    NodoLista temp = new NodoLista();
    temp.info = s;
    temp.next = nodoinit;
    nodoinit = temp;
  } 
    
  public void pop() {
    if (nodoinit == null)
      throw new RuntimeException("pila vuota!");
    else nodoinit = nodoinit.next;
  }
     
  public String top() {
    if (nodoinit == null)
      throw new RuntimeException("pila vuota!");
    else return nodoinit.info;  
  }
     
  public String toString(){
    String ris = "";
    NodoLista p = nodoinit; 
    while(p!=null){
      ris  = ris  + p.info  + "\n";
      p = p.next;
    }   
    return ris;   
  } 
}
