6 6
 1 4
 4 4
 3 3
 6 4
 6 3
 5 4
 5 6
 3 4
 1 3
 3 2
 5 5
 1 1
 2 1
 3 1
 3 5
 1 6
 6 5
 2 3
 4 3
 2 2
 3 6
 1 2
 6 1
 2 5
 4 5
 1 5
 6 2
 4 6
 5 1
 4 1
 5 2
 2 4
 2 6
 5 3

1/6
 1/2
 1/2
 2/3
 1/6
 1/6
 1/3
 1/6
 1/2
 2/3
 2/3
 1/3
 1/1
 5/6
 2/3
 1/3
 1/6
 1/6
 2/3
 1/2
 5/6
 1/6
 5/6
 1/6
 1/3
 1/3
 1/3
 1/6
 1/6
 1/3
 1/2
 1/3
 1/2
 1/6
 1/3

// package main;
import java.io.*;
import java.math.*;
import   java.util.*;;
/**
* Built using CHelper plug-in
* Actual solution is at the top
* @author Togrul Gasimov
*/
public class Main {
  public static void main(String[] args) {
      InputStream inputStream = System.in;
      OutputStream outputStream = System.out;
      FastScanner scan = new FastScanner(inputStream);
      FastPrinter out = new FastPrinter(outputStream);
      TaskD solver = new TaskD();
      solver.solve(1, scan, out);
      out.close();
  }
}

class TaskD {

   static boolean f(String s, String a, String b){
	   if(s.indexOf(a) != -1 && s.indexOf(b , s.indexOf(a) + a.length()) != -1){
		   return true;
	   }
	   
	   return false;
   }
 

  static int gcd(int m, int n){
	  if(m < n)return gcd(n, m);
	  else if(m % n == 0)return n;
	  else return gcd(n, m % n);
  }
  public void solve(int testNumber, FastScanner scan, FastPrinter out) {
       
	 int b = scan.nextInt(), a = scan.nextInt();
	 int x = a, y = b;
	 a = a / gcd(x, y); b = b / gcd(x, y);
	 if(a == b){
		 out.println("1/1");
	 }else
	 out.println(b - a  +"/" + b);
	  
  
}
}


class FastScanner extends BufferedReader {

  public FastScanner(InputStream is) {
      super(new InputStreamReader(is));
  }

  public int read() {
      try {
          int ret = super.read();
//            if (isEOF && ret < 0) {
//                throw new InputMismatchException();
//            }
//            isEOF = ret == -1;
          return ret;
      } catch (IOException e) {
          throw new InputMismatchException();
      }
  }

  public String next() {
      StringBuilder sb = new StringBuilder();
      int c = read();
      while (isWhiteSpace(c)) {
          c = read();
      }
      if (c < 0) {
          return null;
      }
      while (c >= 0 && !isWhiteSpace(c)) {
          sb.appendCodePoint(c);
          c = read();
      }
      return sb.toString();
  }

  static boolean isWhiteSpace(int c) {
      return c >= 0 && c <= 32;
  }

  public int nextInt() {
      int c = read();
      while (isWhiteSpace(c)) {
          c = read();
      }
      int sgn = 1;
      if (c == '-') {
          sgn = -1;
          c = read();
      }
      int ret = 0;
      while (c >= 0 && !isWhiteSpace(c)) {
          if (c < '0' || c > '9') {
              throw new NumberFormatException("digit expected " + (char) c
                      + " found");
          }
          ret = ret * 10 + c - '0';
          c = read();
      }
      return ret * sgn;
  }

  public long nextLong() {
      return Long.parseLong(next());
  }

  public String readLine() {
      try {
          return super.readLine();
      } catch (IOException e) {
          return null;
      }
  }

  }

class FastPrinter extends PrintWriter {

  public FastPrinter(OutputStream out) {
      super(out);
  }

  public FastPrinter(Writer out) {
      super(out);
  }


}