class Queue:
    
    """An implementation of the Queue ADT using a list."""
    
    # Attributes
    #     queue (list)
    
    def __init__(self):
        """Initialize a new, empty queue."""
        self.queue = []
        
    def enqueue(self, obj):
        """Place obj at the back of the queue."""
        self.queue.append(obj)
        
    def dequeue(self):
        """Remove the item from the front queue and return it."""
        return self.queue.pop(0)
    
    def front(self):
        """Return the item currently at the front of the queue, without
        removing it.
        """
        return self.queue[0]
    
    def empty(self):
        """Return true iff the queue is empty."""
        return self.queue == []
    
    def size(self):
        """Return how many items are currently in the queue."""
        return len(self.queue)

