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):
    
    counter = [0] * n
    dist = [0] * n
    bfs = [source]
    counter[source] += 1

    for node in bfs:
        for nei in graph[node]:
            if not counter[nei]:
                counter[nei] += 1
                dist[nei] = dist[node] + 1
                bfs.append(nei)
            elif dist[nei] >= dist[node]:
                counter[nei] += 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:
                count += counter[node] * (counter[node] - 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))
