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;
int fpb(long long a, long long b) {
  if (a == 0)
    return b;
  else
    return fpb(b % a, a);
}
bool prime(long long x) {
  for (long long i = 2; i * i <= x; i++) {
    if (x % i == 0) return false;
  }
  return true;
}
long long n, a, x;
int main() {
  scanf("%I64d", &n);
  for (long long i = 1; i <= n; i++) {
    scanf("%I64d", &x);
    long long p = x;
    while (!prime(p)) p--;
    int q = x + 1;
    while (!prime(q)) q++;
    long long penyebut, pembilang, penyebut1, pembilang1;
    long long penyebut2, pembilang2;
    penyebut1 = 2;
    pembilang1 = 1;
    penyebut2 = p;
    pembilang2 = 1;
    long long tmp = fpb(penyebut1, penyebut2);
    pembilang1 *= (penyebut2 / tmp);
    pembilang2 *= (penyebut1 / tmp);
    penyebut = penyebut1 * (penyebut2 / tmp);
    pembilang = pembilang1 - pembilang2;
    pembilang1 = x - p + 1;
    penyebut1 = q * p;
    tmp = fpb(penyebut, penyebut1);
    pembilang1 *= (penyebut / tmp);
    pembilang *= (penyebut1 / tmp);
    pembilang += pembilang1;
    penyebut *= (penyebut1 / tmp);
    tmp = fpb(penyebut, pembilang);
    penyebut /= tmp;
    pembilang /= tmp;
    printf("%I64d/%I64d\n", pembilang, penyebut);
  }
}
