class Fraction:
    def __init__(self, *args):
        assert len(args) <= 2, "Too many parameters"
        if len(args) == 0:
            # define numerator and denominator
        if len(args) == 1:
            a = args[0]
            if type(a) == int:
                # define numerator and denominator
            elif ...:
                ...
        if len(args) == 2:
            # define numerator and denominator, use gcd(a, b)

    def __str__(self):
        return f"{self.numerator}/{self.denominator}"


    def __add__(self, b):
        # return new Fraction = self + b. Mean self.__add__(b)


    def __radd__(self, b):
        return self + b


    def __sub__(self, b):
        # return new Fraction = self - b. Mean self.__sub__(b)


    def __neg__(self):
        # return new Fraction = -self


    def __rsub__(self, b):
        return -(self - b)

a = Fraction(1, 2)
b = Fraction(1, 3)
print(a + b, a - b)