using System;
using System.Collections.Generic;
using System.Text;

namespace HJ82
{

    public class TrueFraction
    {
        //分子
        public int M { get; set; }

        //分母
        public int N { get; set; }


        public TrueFraction(int m, int n)
        {
            int gcd = GetGCD(m, n);
            if (gcd != 1)
            {
                M = m / gcd;
                N = n / gcd;
            }
            else
            {
                M = m;
                N = n;
            }
        }

        /// <summary>获取两个数的最大公约数</summary>
        private int GetGCD(int a, int b)
        {
            if (a <= 1 || b <= 1)
            {
                return 1;
            }

            int max;
            int min;

            while (true)
            {
                if (a >= b)
                {
                    max = a;
                    min = b;
                }
                else
                {
                    max = b;
                    min = a;
                }
                if (max % min == 0)
                {
                    return min;
                }
                a = max % min;
                b = min;
            }
        }


        /// <summary>
        /// 此方法可以输出埃及真分数个数最小,因为每次分配都是优先将大的分子去分配的
        /// </summary>
        public string GetEgyptString()
        {
            if (M == 1)
            {
                return $"{M}/{N}";
            }

            StringBuilder sb = new StringBuilder();

            //为什么分子分母都放大N-1倍:
            //因为对于一个真分数,他的分子最大只能是N-1,
            //M/N最小的可操作真分数为1/ N * (N - 1),我们在这个最小可操作真分数上进行组合;
            int newN = N * (N - 1);

            int sum = M * (N - 1);

            //一定有解,对于任意sum, sum/newN 最差的解决方案就是 sum个1/newN 相加
            while (true)
            {
                //当sum==0时,所有分子已经分配完毕
                if (sum == 0)
                {
                    break;
                }
                if (sum == 1)
                {
                    sb.Append($"{1}/{newN}");
                    break;
                }
                // 从最大的开始分配,分配完需要减去
                for (int i = sum; i > 0; i--)
                {
                    if (newN % i == 0)
                    {
                        //分子i/i=1;
                        int m = 1;
                        //分母
                        int n = newN / i;
                        sb.Append($"{m}/{n}+");
                        sum -= i;
                        break;
                    }
                }
            }
            return sb.ToString().TrimEnd('+');

        }

    }


    internal class Program
    {
        static void Main(string[] args)
        {
            List<TrueFraction> fractions = new List<TrueFraction>();

            while (true)
            {
                string str = Console.ReadLine();
                if (string.IsNullOrEmpty(str))
                {
                    break;
                }
                string[] strings = str.Split('/');
                int m = int.Parse(strings[0]);
                int n = int.Parse(strings[1]);
                fractions.Add(new TrueFraction(m, n));
            }

            foreach (var f in fractions)
            {
                Console.WriteLine(f.GetEgyptString());
            }
        }
    }
}