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

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

역순서쌍

시간 제한3초메모리 제한256 MB

요약
길이가 n인 모든 순열에 대해 역전 쌍 개수의 k제곱을 모두 더한 값을 998244353으로 나눈 나머지를 구합니다. n은 최대 10^18, k는 최대 1000입니다.
난이도

어려움10점 중 9점

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

문제

순열 pp에 대해 inv(p)\mathit{inv}(p)를 pp의 역순서쌍 개수라고 하자. 역순서쌍은 pi>pjp_i > p_j를 만족하는 인덱스 쌍 1≤i<j≤∣p∣1 \le i < j \le |p|이다.

정수 nn과 kk가 주어진다. 길이가 nn인 모든 순열 pp에 대해 inv(p)k\mathit{inv}(p)^k의 합을 구하라. 답이 매우 커질 수 있으므로 998244353으로 나눈 나머지를 출력한다.

입력

첫 줄에 두 정수 nn과 kk가 주어진다 (1≤n≤10181 \le n \le 10^{18}, 1≤k≤10001 \le k \le 1000).

출력

답을 998244353으로 나눈 나머지를 출력한다.

힌트

첫 번째 예시에서 순열 (1,2,3)(1,2,3)의 역순서쌍은 0개이다.

(1,3,2)(1,3,2)의 역순서쌍은 1개이다.

(2,1,3)(2,1,3)의 역순서쌍은 1개이다.

(2,3,1)(2,3,1)의 역순서쌍은 2개이다.

(3,1,2)(3,1,2)의 역순서쌍은 2개이다.

(3,2,1)(3,2,1)의 역순서쌍은 3개이다.

따라서 답은 02+12+12+22+22+32=190^2 + 1^2 + 1^2 + 2^2 + 2^2 + 3^2 = 19이다.

예제2

  1. 예제 1

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

    입력
    5 3
    
    예상 출력
    22500