istream &operator>>(istream &is, rational &r)
	{
	char lp, slash, rp;
	long n, d;
	is >> lp >> n >> slash >> d >> rp;
	if (is && lp == '(' && slash == '/' && rp == ')')
		r = rational(n, d);
	else if (is.good())
		// indicate a failure
	return is;
	}


