class Rational