import hlt.osf.util.DoublyLinkedList;

public class Test
{
  final public static void main (String args[])
  {
    DoublyLinkedList dl1 = new DoublyLinkedList();

    dl1.append("a");
    dl1.append("b");
    dl1.append("c");
    dl1.append("d");
    dl1.append("e");    

    System.out.println("dl1 = "+dl1);
    System.out.println("dl1.first = "+dl1.firstElt());
    System.out.println("dl1.last = "+dl1.lastElt());
    System.out.println("dl1.length = "+dl1.length());

    DoublyLinkedList dl2 = dl1.copy();

    System.out.println("dl2 = "+dl2);
    System.out.println("dl2.first = "+dl2.firstElt());
    System.out.println("dl2.last = "+dl2.lastElt());
    System.out.println("dl2.length = "+dl2.length());

    dl1.concatenate(dl2);

    System.out.println("dl1 = "+dl1);
    System.out.println("dl1.first = "+dl1.firstElt());
    System.out.println("dl1.last = "+dl1.lastElt());
    System.out.println("dl1.length = "+dl1.length());

    System.out.println("dl2 = "+dl2);
    System.out.println("dl2.first = "+dl2.firstElt());
    System.out.println("dl2.last = "+dl2.lastElt());
    System.out.println("dl2.length = "+dl2.length());

  }
}