만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

알고리즘이 적용되었다

시간 제한2초메모리 제한512 MB

요약
연결된 그래프에서 a<b<c이고 a-b, a-c는 간선이지만 b-c는 간선이 아닌 세 정점을 찾을 때마다 b-c 간선을 추가합니다. 완성된 그래프를 n가지 색으로 칠하는 경우의 수를 998244353으로 나눈 나머지로 구합니다.
난이도

어려움10점 중 8점

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

문제

연결된 무방향 그래프가 nn개의 정점으로 주어진다. 이 그래프를 시작 그래프라고 하자.

세 정수 (a,b,c)(a, b, c) (1≤a<b<c≤n1 \leq a < b < c \leq n)가 다음 세 조건을 모두 만족하면 이 튜플을 좋은 튜플이라고 한다.

  1. 정점 aa와 bb가 간선으로 연결되어 있다.
  2. 정점 aa와 cc가 간선으로 연결되어 있다.
  3. 정점 bb와 cc가 간선으로 연결되어 있지 않다.

시작 그래프에 다음 알고리즘을 적용했다. 좋은 튜플이 존재하는 동안 임의의 좋은 튜플 (a,b,c)(a, b, c)를 골라 정점 bb와 cc 사이에 간선을 추가한다. 이렇게 얻은 그래프를 완성 그래프라고 한다. 매 단계에서 어떤 좋은 튜플을 고르더라도 완성 그래프는 같다는 것을 증명할 수 있다.

시작 그래프가 주어졌을 때, 완성 그래프를 nn가지 색으로 칠하는 방법의 수를 구하라. 색칠은 인접한 두 정점이 같은 색을 갖지 않도록 각 정점에 색을 배정하는 것이다. 더 형식적인 정의가 필요하면 D번 문제를 참고하라.

입력

첫 줄에 정점 수 nn과 간선 수 mm이 주어진다. (2≤n≤3⋅1052 \leq n \leq 3 \cdot 10^5, 1≤m≤3⋅1051 \leq m \leq 3 \cdot 10^5)

다음 mm개의 줄에는 간선의 두 끝점 uu와 vv가 주어진다. (1≤u<v≤n1 \leq u < v \leq n)

주어진 그래프는 연결되어 있고 다중 간선이 없다고 보장된다.

출력

완성 그래프를 nn가지 색으로 칠하는 방법의 수를 998244353998244353으로 나눈 나머지를 출력한다.

실제 답을 yy, 출력한 값을 xx라고 하자. −263≤x<263-2^{63} \leq x < 2^{63}이고 x−yx-y가 998244353998244353으로 나누어떨어지면 정답으로 인정한다.

힌트

첫 번째 예시에서 시작 그래프는 다음과 같다.

좋은 튜플은 (1,2,3)(1, 2, 3)뿐이므로 간선 22-33이 추가된다.

이 그래프를 3가지 색으로 칠하는 방법은 6가지이다.

예제2

  1. 예제 1

    입력
    3 2
    1 2
    1 3
    
    예상 출력
    6
    
  2. 예제 2

    입력
    8 9
    1 2
    3 8
    1 3
    2 6
    4 7
    5 6
    2 5
    2 4
    7 8
    
    예상 출력
    645120