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

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

레이블이 붙은 연결 그래프

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

요약
정점이 n개인 모든 라벨 연결 그래프에서 1번과 2번 정점 사이 거리의 합을 소수 m으로 나눈 나머지를 구한다.
난이도

어려움10점 중 9점

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

문제

정수 nn과 소수 모듈로 mm이 주어진다.

정점이 nn개인 서로 다른 레이블이 붙은 연결 그래프 전체에서 첫 번째 정점과 두 번째 정점 사이의 거리의 합을 계산하라.

실제 합을 mm으로 나눈 나머지와 합동인 정수를 아무거나 출력하라. 형식적으로, 실제 합이 SS일 때 −263≤x<263-2^{63} \leq x < 2^{63}이고 x−Sx - S가 mm으로 나누어떨어지는 정수 xx를 아무거나 출력하라.

입력

첫째 줄에 두 정수 nn과 mm이 주어진다 (2≤n≤4002 \leq n \leq 400, 106+3≤m≤109+910^6 + 3 \leq m \leq 10^9+9, mm은 소수). nn은 그래프의 정점 수이고 mm은 모듈로이다.

출력

문제의 답을 정수 하나로 출력하라.

힌트

이 문제에서 WA를 받았고, 고의로 그렇게 했다고 판단되지 않으면, 어떻게든 쿠키를 줄 수도 있다.

예제5

  1. 예제 1

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

    입력
    3 1001177
    
    예상 출력
    5
    
  3. 예제 3

    입력
    4 1000003
    
    예상 출력
    54
    
  4. 예제 4

    입력
    5 1000159
    
    예상 출력
    1108
    
  5. 예제 5

    입력
    6 1000253
    
    예상 출력
    41880