만드는 중입니다

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

빵 나누기

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

요약
N개의 토스터와 M명의 사람이 있을 때, 모든 사람이 빵을 찾을 수 있는 시작 위치 수열의 개수를 998244353으로 나눈 나머지를 구합니다.
난이도

보통10점 중 6점

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

문제

토스터가 NN개 있고, 왼쪽에서 오른쪽으로 11번부터 NN번까지 번호가 붙어 있다. 처음에 모든 토스터에는 빵 한 조각이 들어 있다. 사람은 MM명이며 11번부터 MM번까지 번호가 붙어 있고, 사람 11, 사람 22 순서대로 한 명씩 토스터에서 빵을 찾는다.

사람 ii는 토스터 aia_i(1≤ai≤N1 \le a_i \le N)부터 찾기 시작해, 빵이 들어 있는 토스터를 찾을 때까지 오른쪽으로 간다. 즉, ai≤j≤Na_i \le j \le N을 만족하는 가장 작은 jj번 토스터에 빵이 있는지 찾는다. 그런 토스터가 있으면 사람 ii는 그 토스터의 빵을 가져가고 떠나며, 이후 그 토스터는 비게 된다. 그런 토스터가 없으면 사람 ii는 빈손으로 떠난다.

시작 수열 (a1,a2,⋯ ,aM)(a_1, a_2, \cdots, a_M)은 모든 1≤i≤M1 \le i \le M에 대해 사람 ii가 토스터 aia_i부터 찾기 시작해 빈손으로 떠나지 않을 때 공정하다고 한다. 가능한 NMN^M개의 시작 수열 중 공정한 수열의 개수를 998 244 353998\,244\,353으로 나눈 나머지로 구하라.

입력

한 줄에 두 정수 NN과 MM(1≤M≤N≤200 0001 \le M \le N \le 200\,000)이 주어진다. NN은 토스터의 개수, MM은 사람의 수다.

출력

공정한 시작 수열의 개수를 998 244 353998\,244\,353으로 나눈 나머지를 한 줄에 출력한다.

예제3

  1. 예제 1

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

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

    입력
    2 2
    
    예상 출력
    3