GCD乱搞。。。
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <cstring>
#include <string>
#include <algorithm>
#include <vector>
#include <set>
#include <map>
#include <queue>
#include <stack>
using namespace std;
#define ll __int64
ll gcd(ll n,ll m)
{
if(n==0) return m;
return gcd(m%n,n);
}
int main()
{
int T;
ll t1,q1,t2,q2,t;
scanf("%d",&T);
while(T--)
{
scanf("%I64d/%I64d %I64d/%I64d",&t1,&q1,&t2,&q2);
while(t=gcd(t1,q1),t!=1)
{
t1/=t;
q1/=t;
}
while(t=gcd(t2,q2),t!=1)
{
t2/=t;
q2/=t;
}
ll zi=t1*t2/gcd(t1,t2);
ll mu=gcd(q1,q2);
ll temp=gcd(zi,mu);
zi/=temp;
mu/=temp;
if(mu==1)
printf("%I64d\n",zi);
else
printf("%I64d/%I64d\n",zi,mu);
}
return 520;
}