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

#include <bits/stdc++.h>
using namespace std;
template <typename T>
void printvec(const vector<T>& vec, string sep = " ") {
  for (long long i = 0; i < vec.size(); i++) {
    cout << vec[i] << sep;
  }
  cout << '\n';
}
vector<long long> vec;
void getvec(long long n) {
  vec.clear();
  long long x;
  for (long long i = 0; i < n; i++) {
    cin >> x;
    vec.push_back(x);
  }
}
vector<string> split(string str, string delimiter) {
  long long pos = 0;
  string token;
  vector<string> tokenized_str;
  while ((pos = str.find(delimiter)) != string::npos) {
    token = str.substr(0, pos);
    tokenized_str.push_back(token);
    str.erase(0, pos + delimiter.length());
  }
  if (str != "") {
    tokenized_str.push_back(str);
  }
  return tokenized_str;
}
vector<long long> concat(vector<long long> v1, vector<long long> v2) {
  v1.insert(v1.end(), v2.begin(), v2.end());
  return v1;
}
long long index(vector<long long> v, long long k) {
  return find(v.begin(), v.end(), k) - v.begin();
}
vector<long long> remove_val(vector<long long> v, long long k) {
  v.erase(find(v.begin(), v.end(), k));
  return v;
}
bool sortcol(const vector<long long>& v1, const vector<long long>& v2) {
  if (v1[0] != v2[0]) return v1[0] < v2[0];
  return v1[1] > v2[1];
}
int32_t main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long y, w;
  cin >> y >> w;
  cout << 6 - max(y, w) + 1 << '/' << 6;
}
