class Polinomi:

    def __init__(self):
        self.coef=[0.0]
        self.gr=0
 
    def grau(self):
        return self.gr
 
    def __setitem__(self, g, val):
        if g<= self.gr:
            if val == 0.0 and g==self.gr:
                self.coef[g]=val
                while self.gr > 0 and self.coef[self.gr]==0:
                    self.gr = self.gr -1
                    self.coef.pop()
            else:
                self.coef[g]=val
        else:
            if val != 0:
                for i in range(self.gr+1, g):
                    self.coef.append(0.0)
                self.coef.append(val)
                self.gr=g
            else:
                pass
 
    def __eq__(self, v):
 
        if self.grau() != v.grau():
            return False
        else:
            for i in range(self.grau()+1):
                if self[i] != v[i]:
                    return False
                else:
                    pass
            return True
 
    def __getitem__(self, g):
        if g > self.gr:
            return 0
        else:
            return self.coef[g]

