import java.util.*; import java.io.*; public class Main { private static StringBuilder sb = null; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = null; while ((str = br.readLine()) != null) { String[] arr = str.split("/"); int a = Integer.parseInt(arr[0]); int b = Integer.parseInt(arr[1]); sb = new StringBuilder(); //b=a*p+q, q<a; 故a/b最大可减去一个1/(p+1); //a/b-1/(p+1) = (a(p+1)-b)/b(p+1)=(ap+a-b)/b(p+1)=(b-q+a-b)/b(p+1)=(a-q)/b(p+1) boolean flag = true; while (a != 1) { int p = b / a; int q = b % a; if (q == 0) { sb.append("1/" + p + "\n"); flag = false; break; } //为什么要用a-1暂未理解,此处不加无法通过17/73的用例 if (b % (a - 1) == 0) { sb.append("1/" + (b / (a - 1)) + "+"); break; } sb.append("1/" + (p + 1) + "+"); // System.out.println("1/" + (p + 1) + "+"); b = b * (p + 1); a = a - q; // System.out.println("b:" + b + " a:" + a); } if (flag) { sb.append("1/" + b + "\n"); } } System.out.println(sb.toString()); } }