class Queue: # Circular List Implementation DEFAULT_CAPACITY = 10 def __init__(self): # instance variables: _data, _size, _front def __str__(self): # string representation of queue # should return a String that has the FRONT and REAR of the queue annotated. # e.g. if the queue contained 3,4,5,6 with 3 in the front and 6 at the rear # then the String returned should be "FRONT [3,4,5,6] REAR def __len__(self): # return length of queue def is_empty(self): # return True if queue is empty otherwise return False def first(self): # return first item of queue if it is not empty; otherwise return None def dequeue(self): # remove and return first item in queue; return None if queue is empty def enqueue(self,e): # add item e to the end of queue. If list is full, resize the list by # creating a new list of twice the size and moving items from old list # to new list; Do not forget to adjust _size and _front def _resize(self,cap): # method to resize