// Demonstrate Rational data abstraction 	
	
import java.util.*;	
	
public class RationalDemo {	
	// main(): application entry point	
	public static void main(String[] args) {	
		Scanner stdin = new Scanner(System.in);	
	
		System.out.println();	
	
		// extract values for rationals r and s	
		Rational r = new Rational();	
		System.out.print("Enter numerator of a rational number: ");	
		int a = stdin.nextInt();	
		System.out.print("Enter denominator of a rational number: ");	
		int b = stdin.nextInt();	
		r.setNumerator(a);	
		r.setDenominator(b);	
		System.out.println();	
		System.out.println();	
	
		Rational s = new Rational();	
		System.out.print("Enter numerator of a rational number: ");	
		int c = stdin.nextInt();	
		System.out.print("Enter denominator of a rational number: ");	
		int d = stdin.nextInt();	
		s.setNumerator(c);	
		s.setDenominator(d);	
	
		// operate on r and s	
		Rational sum = r.add(s);	
		Rational difference = r.subtract(s);	
		Rational product = r.multiply(s);	
		Rational quotient = r.divide(s);	
	
	
		// display operation results	
		System.out.println("For r = " + r.toString() + " and s = " 	
				+ s.toString());	
		System.out.println("    r + s = " + sum.toString());	
		System.out.println("    r - s = " + difference.toString());	
		System.out.println("    r * s = " + product.toString());	
		System.out.println("    r / s = " + quotient.toString());	
		System.out.println();	
	
		System.out.println();	
	}	
}	
