만드는 중입니다

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

거리 순열

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

요약
정수 K가 주어질 때, 1부터 N까지의 수로 만들 수 있는 순열 중 첫 원소가 L 이상 R 이하인 것의 개수를 세는 문제입니다.
난이도

어려움10점 중 8점

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

문제

수직선 위에 점 1,2,…,1051, 2, \dots, 10^5가 있습니다. 두 점 ii, jj 사이의 거리는 ∣i−j∣|i-j|입니다.

길이가 10510^5인 수열 P=(P_1,P_2,…,P_105)P = (P\_1, P\_2, \dots , P\_{10^5})을 다음과 같이 만듭니다. 처음에 PP는 비어 있습니다. 어느 점에서든 시작하여 PP의 길이가 10510^5가 될 때까지 다음 연산을 반복합니다.

  • 현재 점에 대응하는 수를 xx라 합니다. xx가 PP에 없으면 xx를 PP의 끝에 추가합니다. 그다음 거리가 KK 이하인 점 중 하나로 이동합니다.

QQ개의 질의에 답합니다. 각 질의에서는 정수 NN, LL, RR이 주어집니다. PP에서 NN보다 큰 원소를 모두 제거한 수열을 P′=(P′_1,P′_2,…,P′_N)P' = (P'\_1, P'\_2, \dots , P'\_N)이라 합니다. P′P'가 될 수 있는 순열 중에서 P′_1P'\_1이 LL 이상 RR 이하인 순열의 개수를 998244353998244353으로 나눈 나머지를 구하세요.

입력

첫 줄에 KK와 QQ가 주어집니다. 이어서 QQ개의 줄에 각 질의가 NN LL RR 형식으로 주어집니다.

출력

각 질의의 답을 한 줄에 하나씩 출력합니다.

제한

  • 모든 입력은 정수입니다.
  • 1≤Q≤2×1051 \le Q \le 2 \times 10^5
  • 1≤K≤1051 \le K \le 10^5
  • 1≤N≤1051 \le N \le 10^5
  • 1≤L≤R≤N1 \le L \le R \le N

힌트

예제 입력 1의 첫 번째 질의에서 P′P'가 될 수 있는 수열은 네 가지입니다.

  • (1,2,3,4)(1, 2, 3, 4)
  • (1,2,4,3)(1, 2, 4, 3)
  • (1,3,2,4)(1, 3, 2, 4)
  • (1,3,4,2)(1, 3, 4, 2)

예제2

  1. 예제 1

    입력
    2 4
    4 1 1
    3 1 3
    10 2 7
    1 1 1
    
    예상 출력
    4
    6
    140172
    1
    
  2. 예제 2

    입력
    314 6
    60522 7560 25373
    79445 26896 78962
    33447 12441 21469
    47202 17227 32455
    63982 13450 41311
    2156 1226 2148
    
    예상 출력
    925500464
    455690352
    567782656
    893053639
    942918900
    458845228