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;
inline long long read() {
  char i = getchar();
  long long f = 1, res = 0;
  while (i < '0' || i > '9') {
    if (i == '-') f = -1;
    i = getchar();
  }
  while (i >= '0' && i <= '9') {
    res = res * 10 + i - '0';
    i = getchar();
  }
  return f * res;
}
inline bool pd(int x) {
  if (x == 2) return 1;
  int sz = sqrt(x);
  for (register int i = 2; i <= sz; ++i) {
    if (x % i == 0) return 0;
  }
  return 1;
}
inline long long findl(long long x) {
  while (!pd(x)) --x;
  return x;
}
inline long long findr(long long x) {
  while (!pd(x)) ++x;
  return x;
}
inline long long gcd(long long a, long long b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
int main() {
  int T = read();
  while (T--) {
    long long n = read();
    long long l = findl(n);
    long long r = findr(n + 1);
    long long x = (l - 2) * r + 2 * (n - l + 1);
    long long y = l * r * 2;
    long long g = gcd(x, y);
    x /= g;
    y /= g;
    printf("%lld/%lld\n", x, y);
  }
}
