参考:https://blog.nowcoder.net/n/9814e3fcac084972ad72b1c6ffe1357e

思路:对于这种需要明确连接关系的题目来说,适合用邻接矩阵来做。因此,我们先建邻接矩阵,之后用i, j, k枚举三个点,并且判断其在邻接矩阵中的边关系。然后输出真分数就用gcd分别去除两个数值,进行约分,最终输出结果即可

代码:

import sys
input = lambda: sys.stdin.readline().strip()

import math
inf = 10 ** 18

def I():
    return input()

def II():
    return int(input())

def MII():
    return map(int, input().split())

def GMI():
    return map(lambda x: int(x) - 1, input().split())

def LI():
    return input().split()

def LII():
    return list(map(int, input().split()))

def LFI():
    return list(map(float, input().split()))

fmax = lambda x, y: x if x > y else y
fmin = lambda x, y: x if x < y else y
isqrt = lambda x: int(math.sqrt(x))

'''

'''

def solve():
    n = II()
    m = II()

    g = [[0] * (n + 1) for _ in range(n + 1)]
    for _ in range(m):
        a, b = MII()
        g[a][b] = 1
        g[b][a] = 1

    line = tr = 0
    for i in range(1, n + 1):
        for j in range(1, i):
            for k in range(1, j):
                if g[i][j] and g[j][k] and g[k][i]:
                    tr += 1
                    line += 3
                elif (g[i][j] and g[i][k]) or (g[j][i] and g[j][k]) or (g[k][i] and g[k][j]):
                    line += 1

    tr *= 3
    if tr == 0:
        print('0/1')
    else:
        print(f"{tr // math.gcd(tr, line)}/{line // math.gcd(tr, line)}")

# t = 1
t = II()
for _ in range(t):
    solve()