def judge(k, N): g = [i * k // N ** 2 for i in range(N + 1)] f = g.copy() ans = 0 for i in range(1, N + 1): for j in range(i * 2, N + 1, i): f[j] -= f[i] ans += f[i] return ans def solve(N, K): key = judge(N ** 2 - 1, N) + 1 if key == K: return [1, 1] elif key * 2 - 1 < K: return [-1] elif key < K: return solve(N, 2 * key - K)[::-1] m = [0, N ** 2] while m[1] - m[0] > 1: mid = sum(m) // 2 m[judge(mid, N) >= K] = mid for d in range(1, N + 1): n = d * m[1] // N ** 2 if n * N ** 2 > d * m[0]: return [n, d] T = int(input()) for i in range(T): N, K = map(int, input().split()) print('/'.join(list(map(str,solve(N, K)))))