#include<bits/stdc++.h>
#define int long long
#define endl "\n"
using namespace std;
inline int read(){
int x=0,f=1;
char c=getchar();
while(c<'0'||c>'9'){
if(c=='-') f=-1;
c=getchar();
}
while(c>='0'&&c<='9'){
x=x*10+c-'0';
c=getchar();
}
return x*f;
}
int c[30],m[30],ex[30];
int gcd(int x,int y){
if(y>x) swap(x,y);
if(x%y==0) return y;
return gcd(y,x%y);
}
int lcm(int x,int y){
return x*y/gcd(x,y);
}
signed main(){
string expr;
cin>>expr;
if(expr[0]>='0'&&expr[0]<='9') expr="+"+expr;
int p=0;
for(int i=0;i<expr.size();i++){
if(expr[i]=='/'){
c[++p]=expr[i-1]-'0';
m[p]=expr[i+1]-'0';
ex[p]=expr[i-2];
}
}
if(p<1) return 0;
if(p==1){
cout<<expr;
return 0;
}
int l=lcm(m[1],m[2]);
for(int i=3;i<=p;i++){
l=lcm(l,m[i]);
}
int ansm=l;
int ansc=0;
for(int i=1;i<=p;i++){
int x=ansm/m[i];
m[i]*=x;
c[i]*=x;
if(ex[i]=='+') ansc+=c[i];
else ansc-=c[i];
}
int gcm=gcd(abs(ansc),ansm);
ansc/=gcm;
ansm/=gcm;
if(l==1) cout<<ansc;
else cout<<ansc<<"/"<<ansm;
return 0;
}
调3次了QAQ