#include <iostream>
#include <cstdlib>
#include <fstream>

using namespace std;

class ratio {
    private:
      int num, den;

    public:
      ratio(int n=0, int d=1);
      int Num(void) const;
      int Den(void) const;
};


int mcd(int a, int b)
{
    if (b==0)
       return a;
    else
       return mcd(b, a%b);
}
   

ratio::ratio(int n, int d)
{
    if (d==0)
       d= 1;
    if (d<0)
       {
        d= -d;
        n= -n;
       }
    int r= mcd(abs(n),abs(d));
    num= n/r;
    den= d/r;
}

int ratio::Num(void) const
{
   return num;
}

int ratio::Den(void) const
{
   return den;
}

ostream& operator << (ostream& out, const ratio& x)
{
   out << x.Num();
   if (x.Den() != 1) 
     out << "/" << x.Den();
   return out;
}

istream& operator >> (istream& in, ratio& x)
{
  int n, d;
  in >> n;
  int c;
  c= in.get();
  if (c=='/')
    in >> d;
  else
    {
     d= 1;
     in.putback(c);
    }
  x= ratio(n,d);
  return in;
}

ratio operator + (const ratio& a, const ratio& b)
{
   int m= a.Den() * (b.Den() / mcd(a.Den(), b.Den()));
   int n= m/a.Den()*a.Num() + m/b.Den()*b.Num();
   return ratio(n,m);
}

ratio operator - (const ratio& a, const ratio& b)
{
   int m= a.Den() * (b.Den() / mcd(a.Den(), b.Den()));
   int n= m/a.Den()*a.Num() - m/b.Den()*b.Num();
   return ratio(n,m);
}

ratio operator * (const ratio& a, const ratio& b)
{
   return ratio( a.Num() * b.Num(), a.Den() * b.Den());
}

ratio operator / (const ratio& a, const ratio& b)
{
   return ratio( a.Num() * b.Den(), a.Den() * b.Num());
}


class Pila {
   private:
     ratio p[20];
     int   c;
   public:
     Pila(void);
     ratio Saca(void);
     ratio Tope(void);
     void  Mete(ratio x);
};

Pila::Pila(void)
{
   c= 0;
}

void Pila::Mete(ratio x)
{
   p[c++]= x;
}

ratio Pila::Saca(void)
{
   return p[--c];
}

ratio Pila::Tope(void)
{
   if (c>0)
      return p[c-1];
   else
      return 0;
}

int main(void)
{
   Pila P;
   ratio x, y;
   int c;
   do {
     switch (c=cin.get())
        {
         case '0' : case '1' : case '2' : case '3' :
         case '4' : case '5' : case '6' : case '7' :
         case '8' : case '9' :
                    cin.putback(c);
                    cin >> x;
                    P.Mete(x);
                    break;
         case '+':  y= P.Saca();
                    x= P.Saca();
                    P.Mete(x+y);
                    break;
         case '-':  y= P.Saca();
                    x= P.Saca();
                    P.Mete(x-y);
                    break;
         case '*':  y= P.Saca();
                    x= P.Saca();
                    P.Mete(x*y);
                    break;
         case '/':  y= P.Saca();
                    x= P.Saca();
                    P.Mete(x/y);
                    break;
         case EOF:  c= ';';
         default:   break;
        }
     cout << P.Tope() << endl;
   } while (c!=';');
}

