def __le__(self, other):
    return ((self.num * other._denominator) <= (self.den * other._numerator))
def __le__(self, other):
    return ((self.num * other._denominator) <= (self.den * other._numerator))