import java.lang.*;

class Rational {
    private  int n, d;

    public Rational (int n, int d)  throws ArithmeticException {
        if (d == 0) throw new ArithmeticException("wrong ");
        int divisor = gcd(n,d);
        this.n = n/divisor;
        this.d = d/divisor;
    }

    private static int gcd(int n, int d) {
        return ( d == 0 ? n: gcd(d, n%d));
    }

    public static boolean equals(Rational x, Rational y) {
        if ( x.n != y.n || x.d != y.d) return false;
        else return true;
    }

    public static Rational add(Rational x, Rational y) {
        return new Rational(x.n * y.d + y.n * x.d, x.d * y. d);
    }

    public static Rational sub(Rational x, Rational y) {
        return new Rational(x.n * y.d - y.n * x.d, x.d * y. d);
    }

    public static Rational mul(Rational x, Rational y) {
        return new Rational(x.n * y.n, x.d * y.d);
    }

    public static Rational div(Rational x, Rational y) {
        return new Rational(x.n * y.d, x.d * y.n);
    }

    public String toString() {
        return n + "/" + d;
    }

    public static void cmp(Rational x, Rational y) {
        if ( ! equals(x,y)) {
            if ( (x.n * y.d ) > (y.n * x.d)) System.out.println( x.toString() + " > " + y.toString());
            else System.out.println( y.toString() + " > " + x.toString());
        }
        else System.out.println( x.toString() + " = " + y.toString());
    }

    public static void main(String[] args) {
        try {
            Rational a = new Rational(4, 5);
            Rational b = new Rational(1, 2);
            Rational c = new Rational(2, 5);
            System.out.println("Equality - " + equals(a, b));
            System.out.println("Equality - " + equals(mul(a,b), c));
            System.out.println(c.toString() + "+" + b.toString() + "=" + add(c, b));
            System.out.println(a.toString() + "-" + b.toString() + "=" + sub(a, b));
            System.out.println(b.toString() + "-" + a.toString() + "=" + sub(b, a));
            System.out.println(c.toString() + "*" + b.toString() + "=" + mul(c, b));
            System.out.println(a.toString() + "%" + b.toString() + "=" + div(a, b));
            cmp(a,b);
            cmp(b,c);
            cmp(mul(a,b), c);
        }
        catch (ArithmeticException e) {
            System.out.println("dividing on 0");
        }
    }
}