import sys
input = sys.stdin.readline


n,m = [int(x) for x in input().split()]
graph = [[] for _ in range(n)]

for _ in range(m):
    u,v = [int(x) - 1 for x in input().split()]
    graph[u].append(v)
    graph[v].append(u)


min_cycle = n + 100
count = 0

for source in range(n):
    
    dist = [-1] * n
    dist[source] = 0
    bfs = [source]

    for node in bfs:
        for nei in graph[node]:
            if dist[nei] == -1:
                dist[nei] = dist[node] + 1
                bfs.append(nei)
            elif dist[nei] >= dist[node]:
                cyc = dist[nei] + dist[node] + 1
                
                if cyc < min_cycle:
                    min_cycle = cyc
                    count = 0

    if min_cycle % 2 == 0:
        for node in range(n):
            if dist[node] == min_cycle//2:
                tmp = 0
                for nei in graph[node]:
                    tmp += dist[nei] < dist[node]
                count += tmp * (tmp - 1)
    else:
        for node in range(n):
            for nei in graph[node]:
                if dist[node] + dist[nei] + 1 == min_cycle:
                    count += 1
    

#print(min_cycle)
print(count // (2 * min_cycle))
