import math

class Lik():
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def premakni(self, dx, dy):
        self.x += dx
        self.y += dy

# če je X podrazred od Y:
# - vsak X se zna obnašati kot Y
# - povsod kjer bi lahko uporabili Y, lahko uporabimo tudi X

class Krog(Lik):
    def __init__(self, x, y, r):
        super().__init__(x, y) # pokličemo konstruktor od nadrazreda
        self.r = r

    def ploscina(self):
        return math.pi * self.r * self.r

class Kvadrat(Lik):
    def __init__(self, x, y, a):
        super().__init__(x, y)
        self.a = a

    def ploscina(self):
        return self.a * self.a
