#include<iostream>
using namespace std;
long long gcd(long long a,long long b)
{
return !b?a:gcd(b,a%b);
}
long long findmin(long long a,long long b)
{
long long temp=gcd(a,b);
return a*b/temp;
}
int main()
{
long long n;
long long a[105],b[105];
cin>>n;
for(int i=0;i<n;i++)
{
scanf("%lld/%lld",&a[i],&b[i]);
}
long fenmu=b[0];
long fenzi=0;
for(int i=1;i<n;i++)
fenmu=findmin(fenmu,b[i]);
for(int i=0;i<n;i++)
fenzi+=fenmu/b[i]*a[i];
long long temp=gcd(fenmu,fenzi);
fenzi=fenzi/temp;
fenmu=fenmu/temp;
if(fenzi<fenmu)
{
if(fenzi==0)
cout<<0;
else
cout<<fenzi<<'/'<<fenmu;
}
else
{
long long temp2=fenzi%fenmu;
cout<<fenzi/fenmu;
if(temp2!=0)
cout<<' '<<temp2<<'/'<<fenmu;
}
return 0;
}
最大公约数
long long gcd(long long a,long long b)
{
return !b?a:gcd(b,a%b);
}
最小公倍数
long long findmin(long long a,long long b)
{
long long temp=gcd(a,b);
return a*b/temp;
}