class Customer():
    def __init__(self, name, surname):
        self.name = name
        self.surname = surname

class Queue():

    def __init__(self):
        self.list = []

    def enqueue(self, customer):
        self.list.append(customer)

    def dequeue(self):
        # sprawdź czy lista nie jest pusta
        # jeśli nie jest pusta - weź pierwszy element (pierwszego klienta) z listy
        # przypisz pierwszy element (pierwszego klienta) do zminnej
        # usuń ten element
        # zwróć usunięty element

        if self.list:
            first_element = self.list[0]
            self.list.remove(first_element)
            return first_element

    def peek(self):
        # sprawdź kto jest pierwszy w kolejce
        if not self.list:
            print('Lista pusta')
            return
            
        return self.list[0]
    
    def is_empty(self):
        # sprawdź czy jest jeszcze ktoś w kolejce
        return not len(self.list) == 0
    
class CinemaQueue():

    def __init__(self):
        self.queue = Queue()

    def is_empty(self):
        return self.queue.is_empty()

    def add_customer(self, customer):
        self.queue.enqueue(customer)

    def remove_customer(self):
        if not self.is_empty():
            return self.queue.dequeue()

    def next_customer(self, customer):
        if not self.is_empty():
            next_customer = self.queue.peek()
            return next_customer.surname
        
jan_kowalski = Customer('Jan', 'Kowalski')
anna_nowak = Customer('Anna', 'Nowak')
piotr_zielinski = Customer('Piotr', 'Zielinski')

cinema = CinemaQueue()
cinema.add_customer(jan_kowalski)
cinema.add_customer(anna_nowak)
cinema.add_customer(piotr_zielinski)
cinema.add_customer(jan_kowalski)
print(cinema.next_customer())
print(cinema.remove_customer())
