public interface Queue {
    /** Append o to me. */
    void enqueue(Object o);

    /** Return my front element.
        Requires: size() != 0. */
    Object head();

    /** Remove and return my front element.
        Requires: size() != 0. */
    Object dequeue();

    /** Return the number of elements in me. */
    int size();
}
