import java.util.* ;

class L implements Assoc {

  private AList p ;

  L() { p = null ; }

  public int get(String key) {
    AList r = AList.getCell(key, p) ;
    if (r == null) {
      return 0 ;
    } else {
      return r.val ;
    }
  }

  public void put(String key, int val) {
    AList r = AList.getCell(key, p) ;
    if (r == null) {
      p = new AList (key, val, p) ;
    } else {
      r.val = val ;
    }
  } 

  /* toString sophistiqué qui affiche une version triée
     de la liste p */
  public String toString() {
    /* D'abord fabrique l'objet qui peut être trié par Sort.toString.
       C'est à lire un List<Map.Entry<String,Integer>>.
       1. List<E> est en fait une interface, il faut
          construire un objet d'une classe qui implémente cette interface.
          Ici ArrayList<E>
       2. E = Map.Entry<K,V> est aussi une interface, implémentée
          directement par la classe AList (voir cette classe)
    */
    ArrayList<Map.Entry<String,Integer>> list =
      new ArrayList<Map.Entry<String,Integer>> () ;
    for (AList q = p ; q != null ; q = q.next) {
      list.add(q) ;
    }
    return Sort.toString(list) ;
  }
}
