#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
typedef long long ll;
struct number{
ll fz,fm;
}a,b;
ll gcd(ll a,ll b)
{
if(b==0)
return a;
return gcd(b,a%b);
}
number deduction(number r)
{
if(r.fm<0)
{
r.fm=-r.fm;
r.fz=-r.fz;
}
if(r.fz==0)
{
r.fm=1;
}
else
{
int d=gcd(abs(r.fz),abs(r.fm));
r.fz/=d;
r.fm/=d;
}
return r;
}
number add(number a,number b)
{
number r;
r.fm=a.fm*b.fm;
r.fz=a.fz*b.fm+a.fm*b.fz;
return deduction(r);
}
number jf(number a,number b)
{
number r;
r.fm=a.fm*b.fm;
r.fz=a.fz*b.fm-a.fm*b.fz;
return deduction(r);
}
number cf(number a,number b)
{
number r;
r.fm=a.fm*b.fm;
r.fz=a.fz*b.fz;
return deduction(r);
}
number divide(number a,number b)
{
number r;
r.fm=a.fm*b.fz;
r.fz=a.fz*b.fm;
return deduction(r);
}
void print(number r)
{
r=deduction(r);
if(r.fz<0)
printf("(");
if(r.fm==1)
{
printf("%lld",r.fz);
}
else if(abs(r.fz)>abs(r.fm))
{
printf("%lld %lld/%lld",r.fz/r.fm,abs(r.fz%r.fm),r.fm);
}
else
printf("%lld/%lld",r.fz,r.fm);
if(r.fz<0)
printf(")");
}
int main()
{
scanf("%lld/%lld %lld/%lld",&a.fz,&a.fm,&b.fz,&b.fm);
print(a);
printf(" + ");
print(b);
printf(" = ");
print(add(a,b));
printf("\n");//
print(a);
printf(" - ");
print(b);
printf(" = ");
print(jf(a,b));
printf("\n");//
print(a);
printf(" * ");
print(b);
printf(" = ");
print(cf(a,b));
printf("\n");//
print(a);
printf(" / ");
print(b);
printf(" = ");
if(b.fz==0)
printf("Inf");
else
print(divide(a,b));
return 0;
}