만드는 중입니다

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

가장 큰 집합

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

요약
T가 아주 큰 10진수로 주어질 때, 0부터 T-1까지의 수로 만든 부분집합 중 원소의 합을 n으로 나눈 나머지가 rem인 것의 개수를 998244353으로 나눈 값을 구합니다.
난이도

어려움10점 중 9점

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

문제

음이 아닌 정수들의 집합이 적합하다는 것은, 집합의 모든 수가 TT보다 작고 그 합을 nn으로 나눈 나머지가 rem\mathit{rem}과 같다는 뜻이다. 서로 다른 적합한 집합의 개수를 구하라.

입력

첫 줄에 공백으로 구분된 정수 nn과 rem\mathit{rem}이 주어진다 (0≤rem<n≤1040 \le \mathit{rem} < n \le 10^4). 둘째 줄에는 정수 TT가 하나 주어진다 (1≤T≤10100 000−11 \le T \le 10^{100\,000} - 1).

출력

서로 다른 적합한 집합의 개수를 소수 998 244 353998\,244\,353으로 나눈 나머지를 출력한다. 이 개수는 매우 커질 수 있다.

힌트

첫 번째 예제에서 00과 33은 나머지를 바꾸지 않으므로 포함하거나 제외하는 것을 자유롭게 정할 수 있다. 수 {1,2,4}\{ 1, 2, 4 \}에서는 적합한 집합이 {2}\{ 2 \}와 {1,4}\{ 1, 4 \} 두 개뿐이다. 따라서 답은 2×2×2=82 \times 2 \times 2 = 8이다.

두 번째 예제에서는 {0,1,…,19}\{ 0, 1, \ldots, 19 \}의 모든 부분집합이 적합하다. 따라서 답은 220=1 048 5762^{20} = 1\,048\,576이다.

예제2

  1. 예제 1

    입력
    3 2
    5
    
    예상 출력
    8
    
  2. 예제 2

    입력
    1 0
    20
    
    예상 출력
    1048576