rt
#include<bits/stdc++.h>
using namespace std;
typedef long long in;
in n,x,y,z,i,sfz,sfm,p;
string s,s1,s2;
in gcd(in a,in b){
if(a%b!=0)return gcd(b,a%b);
else return b;
}string add(int fz1,int fm1,int fz2,int fm2){//分数加法
in nfm1,nfz1,nfm2,nfz2,nfz,nfm,x;
nfm1=fm1*fm2;
nfm2=nfm1;
nfz1=fz1*(nfm1/fm1);
nfz2=fz2*(nfm2/fm2);
nfz=nfz1+nfz2;
nfm=nfm2;
x=gcd(nfz,nfm);
while(x!=1){
nfz/=x;
nfm/=x;
x=gcd(nfz,nfm);
}if(nfz<0&&nfm>=0)return "-"+to_string(abs(nfz))+"/"+to_string(nfm);
else if(nfm<0&&nfz>=0)return "-"+to_string(nfz)+"/"+to_string(abs(nfm));
else if(nfz>=0&&nfm>=0)return to_string(nfz)+"/"+to_string(nfm);
else return "-"+to_string(abs(nfz))+"/"+to_string(abs(nfm));
}string sub(int fz1,int fm1,int fz2,int fm2){//分数减法
in nfm1,nfz1,nfm2,nfz2,nfz,nfm,x;
nfm1=fm1*fm2;
nfm2=nfm1;
nfz1=fz1*(nfm1/fm1);
nfz2=fz2*(nfm2/fm2);
nfz=nfz1-nfz2;
nfm=nfm2;
x=gcd(nfz,nfm);
while(x!=1){
nfz/=x;
nfm/=x;
x=gcd(nfz,nfm);
}if(nfz<0&&nfm>=0)return "-"+to_string(abs(nfz))+"/"+to_string(nfm);
else if(nfm<0&&nfz>=0)return "-"+to_string(nfz)+"/"+to_string(abs(nfm));
else if(nfz>=0&&nfm>=0)return to_string(nfz)+"/"+to_string(nfm);
else return "-"+to_string(abs(nfz))+"/"+to_string(abs(nfm));
}int main(){
cin>>n;
for(i=1;i<=n;i++){
cin>>x>>y>>z;
if(z==1){
if(i==1){
sfz=x;
sfm=y;
}else{
s=add(sfz,sfm,x,y);
p=s.find('/');
s1=s.substr(0,p);
s2=s.substr(p+1);
sfz=stoll(s1);
sfm=stoll(s2);
}
}else{
if(i==1){
sfz=-x;
sfm=-y;
}else{
s=sub(sfz,sfm,x,y);
p=s.find('/');
s1=s.substr(0,p);
s2=s.substr(p+1);
sfz=stoll(s1);
sfm=stoll(s2);
}
}
}if(sfz%sfm!=0)cout<<sfz<<'/'<<sfm;
else cout<<sfz/sfm;
return 0;
}