#include <bits/stdc++.h>
using namespace std;
const int inf = 0x3f3f3f3f;
int a1[110], a2[110], a3[110], b1, b2, b3;
char s1[110], s2[110], s3[110];
unsigned long long gcd(unsigned long long a, unsigned long long b) {
  if (b == 0) {
    return (a);
  }
  return (gcd(b, a % b));
}
unsigned long long min(unsigned long long a, unsigned long long b) {
  if (a < b) {
    return (a);
  }
  return (b);
}
unsigned long long pow10(unsigned long long a) {
  unsigned long long count = 0;
  while (a != 0) {
    a /= 10;
    count++;
  }
  return (count - 1);
}
int main() {
  unsigned long long t, w, b, g, z;
  cin >> t >> w >> b;
  if (w > b) {
    unsigned long long temp = w;
    w = b;
    b = temp;
  }
  unsigned long long ans = w - 1;
  unsigned long long b1 = b / gcd(b, w);
  if (w > t) {
    ans = t;
    goto A;
  }
  if (pow10(b1) + pow10(w) > pow10(t)) {
    goto A;
  }
  g = b1 * w;
  z = t / g;
  ans = ans + (z - 1) * w;
  ans = ans + min(w, t - z * g + 1);
A:
  cout << ans / gcd(t, ans) << "/" << t / gcd(t, ans);
  return (0);
}
