#include <iostream>
using namespace std;
template <typename T>
class Fraction
{public:
void add1();
void divide1();
void add2();
void divide2();
void set();
void yuefen();
T a,b;
T c,d;
T e,f;
};
template <typename T>
void Fraction<T>::set()
{
cin>>a>>b>>c>>d;
}
template <typename T>
void Fraction<T>::add1()
{
e=a*d+c*b;
}
template <typename T>
void Fraction<T>::add2()
{
f=b*d;
}
template <typename T>
void Fraction<T>::divide1()
{
e=a*d;
}
template <typename T>
void Fraction<T>::divide2()
{
f=b*c;
}
template <typename T>
void Fraction<T>::yuefen()
{
T i;
for(i=2;e>=i;i++)
{
if(e%i==0&&f%i==0)
{
e=e/i;
f=f/i;
i--;
}
}
cout<<e<<"/"<<f<<endl;
}
int main()
{
Fraction<int> fra;
fra.set();
fra.add1();
fra.add2();
fra.yuefen();
fra.set();
fra.divide1();
fra.divide2();
fra.yuefen();
return 0;
}
using namespace std;
template <typename T>
class Fraction
{public:
void add1();
void divide1();
void add2();
void divide2();
void set();
void yuefen();
T a,b;
T c,d;
T e,f;
};
template <typename T>
void Fraction<T>::set()
{
cin>>a>>b>>c>>d;
}
template <typename T>
void Fraction<T>::add1()
{
e=a*d+c*b;
}
template <typename T>
void Fraction<T>::add2()
{
f=b*d;
}
template <typename T>
void Fraction<T>::divide1()
{
e=a*d;
}
template <typename T>
void Fraction<T>::divide2()
{
f=b*c;
}
template <typename T>
void Fraction<T>::yuefen()
{
T i;
for(i=2;e>=i;i++)
{
if(e%i==0&&f%i==0)
{
e=e/i;
f=f/i;
i--;
}
}
cout<<e<<"/"<<f<<endl;
}
int main()
{
Fraction<int> fra;
fra.set();
fra.add1();
fra.add2();
fra.yuefen();
fra.set();
fra.divide1();
fra.divide2();
fra.yuefen();
return 0;
}