아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

납이야 나비야

시간 제한1초메모리 제한1024 MB

요약
두 삼각형이 중심 정점 c를 공유하고 한쪽 삼각형의 c에 두 간선이 더 붙은 나비 모양 간선 집합의 개수를 센다.
난이도

보통10점 중 7점

유형
그래프, 조합론, 해시맵
정답자
아직 제출이 없습니다

문제

용한이는 벌레를 무서워한다. 그것을 본 성우는 용한이가 벌레를 더 이상 무서워하지 않도록 도와주려 한다. 고민 끝에, 성우는 예쁜 벌레인 나비를 이용하여 용한이를 돕기로 했다.

먼저, 성우는 엄청나게 큰 종이 위에 점 NN개와 간선 MM개를 찍는다. 그리고 이들 중 서로 다른 77개의 점을 순서대로 선택한다. 이 점을 각각 a,b,c,d,e,f,ga, b, c, d, e, f, g라고 할 때, 선분 (a,b)(a, b), (b,c)(b, c), (a,c)(a, c), (c,d)(c, d), (c,e)(c, e), (d,e)(d, e), (c,f)(c, f), (c,g)(c, g)가 모두 존재할 경우 성우는 이를 '나비'라 부른다.

어떤 두 나비에 대해, 두 나비에 속한 간선의 집합이 같을 때, 이 두 나비는 같은 나비로 취급한다. 이 조건을 만족하지 않는 모든 두 나비는 서로 다른 나비다.

성우는 그릴 수 있는 서로 다른 나비의 개수가 궁금해졌다. 성우를 위해 이를 구해주자!

단, 주어진 그래프에서 두 점을 잇는 간선은 최대 한 개 존재하며, 정점의 순서는 고려하지 않는다.

입력

첫째 줄에 성우가 그린 점의 개수 NN과 간선의 개수 MM이 주어진다. (1≤N≤5001 \leq N \leq 500, 1≤M≤N(N−1)21 \le M \le \frac{N(N-1)}{2})

그다음 MM개의 줄에 성우가 그린 간선들이 주어진다. 1≤i≤M1 \leq i \leq M인 정수 ii에 대하여, 간선 ii가 연결하는 서로 다른 두 정점을 나타내는 정수 a_i,b_ia\_i, b\_i가 (i+1)(i+1)번째 줄에 공백으로 구분되어 주어진다.

출력

성우가 그릴 수 있는 서로 다른 나비의 개수를 출력한다.

예제2

  1. 예제 1

    입력
    7 8
    1 2
    1 3
    2 3
    1 4
    1 5
    4 5
    1 6
    1 7
    
    예상 출력
    1
    
  2. 예제 2

    입력
    10 39
    1 3
    2 3
    2 4
    3 4
    1 5
    5 2
    3 5
    4 5
    6 1
    2 6
    3 6
    6 4
    5 6
    1 7
    2 7
    7 3
    4 7
    5 7
    6 7
    8 1
    2 8
    8 3
    5 8
    6 8
    8 7
    9 1
    2 9
    3 9
    4 9
    5 9
    6 9
    7 9
    10 1
    10 2
    4 10
    5 10
    10 6
    10 7
    9 10
    
    예상 출력
    11469