from typing import Any


class Rational:
    """
    A rational number
    num - numerator
    denum - denominator
    """
    num: int
    denum: int

    def __init__(self, num: int, denom: int = 1) -> None:
        """
        Create new Rational self with numerator num and
        denominator denom --- denom must not be 0.
        """
        pass

    def __eq__(self, other: Any) -> bool:
        """
        Return whether Rational self is equivalent to other.
        >>> r1 = Rational(3, 5)
        >>> r2 = Rational(6, 10)
        >>> r3 = Rational(4, 7)
        >>> r1 == r2
        True
        >>> r1.__eq__(r3)
        False
        """
        pass

    def __str__(self) -> str:
        """
        Return a user-friendly string representation of
        Rational self.
        >>> print(Rational(3, 5))
        3 / 5
        """
        pass

    def __lt__(self, other: Any) -> bool:
        """
        Return whether Rational self is less than other.
        >>> Rational(3, 5).__lt__(Rational(4, 7))
        False
        >>> Rational(3, 5).__lt__(Rational(5, 7))
        True
        """
        pass

    def __mul__(self, other:  'Rational') -> 'Rational':
        """
        Return the product of Rational self and Rational other.
        >>> print(Rational(3, 5).__mul__(Rational(4, 7)))
        12 / 35
        """
        pass

    def __add__(self, other: 'Rational') -> 'Rational':
        """
        Return the sum of Rational self and Rational other.
        >>> print(Rational(3, 5).__add__(Rational(4, 7)))
        41 / 35
        """
        pass


if __name__ == "__main__":
    import doctest
    doctest.testmod()
    r1 = Rational(3, 5)
    r2 = Rational(4, 7)
    print(r1 < r2)
    r1.__add__(r2)
    r1.__mul__(r2)
    print(r1 == r2)
    print(r1 == "three-fifths")
