class Vrsta():

    def __init__(self, elementi=[], kapaciteta=100):
        self.prvi = 0 # pozicija prvega elementa
        self.prosto = 0 # prosto mesto, kamor damo naslednji element
        self.vrsta = [None for i in range(kapaciteta+1)]
        for x in elementi: self.dodaj(x)

    def __repr__(self):
        if self.prvi < self.prosto:
            return "Vrsta({0})".format(self.vrsta[self.prvi:self.prosto])
        elif self.prvi == self.prosto:
            return "Vrsta()"
        else:
            return "Vrsta({0}".format(self.vrsta[self.prvi:] + self.vrsta[:self.prosto])

    def je_prazna(self):
        return (self.prvi == self.prosto)

    def je_polna(self):
        return ((self.prosto + 1 - self.prvi) % len(self.vrsta) == 0)

    def vzemi(self):
        if self.je_prazna():
            raise ValueError("Vrsta je prazna")
        else:
            x = self.vrsta[self.prvi]
            self.prvi = (self.prvi + 1) % len(self.vrsta)
            return x

    def dodaj(self, x):
        if self.je_polna():
            raise ValueError("Vrsta je polna")
        else:
            self.vrsta[self.prosto] = x
            self.prosto = (self.prosto + 1) % len(self.vrsta)
