class RationalNumber implements Comparable<RationalNumber>{

	private int numerator, denominator; 
	
	public RationalNumber() {
		this.numerator = 2;
		this.denominator = 1;
	}
	
	public void setDenominator(int d) {
		this.denominator = d;
	}
	
	public void setNumerator(int d) {
		this.numerator = d;
	}
	
	public int getNumerator() {
		return numerator;
	}
	
	public int getDenominator() {
		return denominator;
	}
	
	
	public RationalNumber(int numerator, int denominator) {
		this.numerator = numerator;
		this.denominator = denominator;
	}
	
	public RationalNumber addition(RationalNumber r2) {
		RationalNumber r = new RationalNumber();
		r.setDenominator(denominator * r.getDenominator());
		r.setNumerator( numerator * r.getDenominator() 
				+ r.getNumerator() * denominator);
		
		return r;
	}
	
	public RationalNumber subtraction(RationalNumber r2) {
		RationalNumber r = new RationalNumber();
		r.setDenominator(denominator * r.getDenominator());
		r.setNumerator(numerator * r.getDenominator() 
				- r.getNumerator() * denominator);
		
		return r;
	}
	
	public RationalNumber multiplication(RationalNumber r2) {
		RationalNumber r = new RationalNumber();
		r.setDenominator(denominator * r.getDenominator());
		r.setNumerator(numerator * r.getNumerator());
		
		return r;
	}
	
	// compareTo method
	public int compareTo(RationalNumber rn) {
		
		// equalize the denominators
		int n1 = numerator * rn.getDenominator();
		int n2 = rn.getNumerator() * denominator;
		
		if (n1 > n2)
			return 1;
		else if (n1 == n2)
			return 0;
		else
			return -1;
	}
}


