istream &operator> >(istream &is, rational &r)
{
long n, d;
char c= 0;
if (is >> c && c == '(')
{
is >> n >> c;
if (c == '/')
is >> d >> c;
if (c != '(')
{
is.putback(c);
is.clear(ios::failbit);
}
}
else
{
is.putback(c);
is >> n;
d = 1;
}
if (is)
r = rational(n, d);
return is;
}
//End of File