class Operator:
    def __init__(self, symbol, precedence):
        self.symbol = symbol
        self.precedence = precedence

    def __repr__(self):
        return self.symbol

    def __call__(self):
        raise NotImplemented

class Adder(Operator):
    def __init__(self):
        super().__init__('+', 1)

    def __call__(self, a, b):
        return a + b

class Subtracter(Operator):
    def __init__(self):
        super().__init__('-', 1)

    def __call__(self, a, b):
        return a - b

class Multiplyer(Operator):
    def __init__(self):
        super().__init__('*', 2)

    def __call__(self, a, b):
        return a * b

class Divider(Operator):
    def __init__(self):
        super().__init__('/', 2)

    def __call__(self, a, b):
        return a / b


STANDARD_OPERATORS = {
    '+': Adder(),
    '-': Subtracter(),
    '*': Multiplyer(),
    '/': Divider(),
}