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

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

세제곱 합

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

요약
각 N에 대해 부분의 개수가 k인 모든 분할에 k^3을 더한 값을 998244353으로 나눈 나머지를 구한다. 질의는 최대 10만 개다.
난이도

보통10점 중 7점

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

문제

정수 NN이 주어질 때, 합이 NN인 양의 정수 중복집합을 모두 생각하자.

예를 들어 N=3N = 3인 경우 가능한 중복집합은 {1,1,1}\{1, 1, 1\}, {1,2}\{1, 2\}, {3}\{3\}의 세 가지이다.

각 중복집합에 대해 크기의 세제곱을 계산하고, 그 값들의 합을 998 244 353998\,244\,353으로 나눈 나머지를 출력하자.

입력

첫째 줄에 테스트 케이스의 수 TT가 주어진다 (1≤T≤1051 \le T \le 10^5).

각 테스트 케이스는 정수 NN 하나를 포함하는 한 줄로 이루어진다 (1≤N≤1051 \le N \le 10^5).

출력

각 테스트 케이스마다 문제의 답을 한 줄에 하나씩 출력한다.

힌트

첫 번째 경우 가능한 중복집합은 {1}\{1\} 하나뿐이다. 따라서 답은 13=11^3 = 1이다.

두 번째 경우 가능한 중복집합은 {1,1}\{1, 1\}, {2}\{2\} 두 가지이다. 따라서 답은 23+13=92^3 + 1^3 = 9이다.

세 번째 경우 가능한 중복집합은 {1,1,1}\{1, 1, 1\}, {1,2}\{1, 2\}, {3}\{3\} 세 가지이다. 따라서 답은 33+23+13=363^3 + 2^3 + 1^3 = 36이다.

예제1

  1. 예제 1

    입력
    4
    1
    2
    3
    100000
    
    예상 출력
    1
    9
    36
    513842114