만드는 중입니다

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

끔찍한 사이클

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

요약
왼쪽 정점 i가 오른쪽 정점 1부터 a_i까지와 연결된 이분 그래프에서 단순 사이클의 개수를 998244353으로 나눈 나머지로 구합니다. n은 최대 5000입니다.
난이도

어려움10점 중 8점

유형
그래프, 조합론, 동적 계획법
정답자
아직 제출이 없습니다

문제

각 부분에 정점이 nn개씩 있는 이분 그래프가 주어진다. 왼쪽 부분의 ii번째 정점은 오른쪽 부분의 정점 1,2,…,ai1, 2, \ldots, a_i와 간선으로 연결되어 있다.

이 그래프에서 정점을 반복하지 않는 사이클의 개수를 구하라. 어떤 간선이 한 사이클에는 포함되고 다른 사이클에는 포함되지 않으면, 두 사이클은 서로 다른 것으로 본다.

개수가 매우 클 수 있으므로 998 244 353998\,244\,353으로 나눈 나머지를 출력하라.

입력

첫 번째 줄에 정수 nn (1≤n≤50001 \le n \le 5000)이 주어진다. 각 부분에 있는 정점의 개수이다.

두 번째 줄에는 정수 a1,a2,…,ana_1, a_2, \ldots, a_n (1≤ai≤n1 \le a_i \le n)이 주어진다. 그래프의 구조를 나타낸다.

출력

주어진 그래프에서 정점을 반복하지 않는 사이클의 개수를 998 244 353998\,244\,353으로 나눈 나머지로 한 줄에 출력하라.

예제4

  1. 예제 1

    입력
    1
    1
    
    예상 출력
    0
    
  2. 예제 2

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

    입력
    3
    3 3 2
    
    예상 출력
    7
    
  4. 예제 4

    입력
    10
    6 6 7 7 8 8 9 9 10 10
    
    예상 출력
    410150080