Let's assume that 

  * v(n) is the largest prime number, that does not exceed n;
  * u(n) is the smallest prime number strictly greater than n. 



Find <image>.

Input

The first line contains integer t (1 ≤ t ≤ 500) — the number of testscases. 

Each of the following t lines of the input contains integer n (2 ≤ n ≤ 109).

Output

Print t lines: the i-th of them must contain the answer to the i-th test as an irreducible fraction "p/q", where p, q are integers, q > 0.

Examples

Input

2
2
3


Output

1/6
7/30
#include <bits/stdc++.h>
using namespace std;
bool found(long long x) {
  for (long long i = 2; i * i <= x; ++i)
    if (x % i == 0) return false;
  return true;
}
long long gcd(long long a, long long b) {
  if (a == 0) return b;
  return gcd(b % a, a);
}
pair<long long, long long> getans(long long n, long long p1, long long p2) {
  long long num = 2ll * (n + 1ll) + p1 * p2 - 2ll * (p1 + p2);
  long long den = 2ll * (p1) * (p2);
  long long g = gcd(num, den);
  num /= g;
  den /= g;
  return {num, den};
}
int32_t main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  cout.precision(10);
  long long t;
  cin >> t;
  while (t--) {
    long long n;
    cin >> n;
    long long prprime = n;
    bool f = false;
    while (!f) {
      if (found(prprime))
        f = true;
      else
        prprime--;
    }
    long long peprime = n + 1;
    f = false;
    while (!f) {
      if (found(peprime))
        f = true;
      else
        peprime++;
    }
    auto ans = getans(n, prprime, peprime);
    cout << ans.first << "/" << ans.second << "\n";
  }
}
