만드는 중입니다

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

FFT를 사용하라

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

요약
각 k에 대해 C_i에 j=1부터 k까지 (A_i+B_j)의 곱을 곱하고, 이를 모든 i에 걸쳐 더한 값을 998244353으로 나눈 나머지를 구합니다.
난이도

어려움10점 중 8점

유형
분할 정복, 수학
정답자
아직 제출이 없습니다

문제

길이가 각각 NN인 정수 수열 AA, BB, CC가 주어진다. 각 k=1,2,…,Nk=1,2,\ldots,N에 대해 아래 값을 998244353으로 나눈 나머지를 구하라.

∑1≤i≤N(Ci×∏1≤j≤k(Ai+Bj))\sum_{1 \leq i \leq N} \left( C_i \times \prod_{1 \leq j \leq k} (A_i+B_j) \right)

입력

첫 줄에 정수 NN이 주어진다 (1≤N≤2500001 \leq N \leq 250000).

둘째 줄에 NN개의 정수 A1,A2,…,ANA_1, A_2, \ldots, A_N이 주어진다 (0≤Ai<9982443530 \leq A_i < 998244353).

셋째 줄에 NN개의 정수 B1,B2,…,BNB_1, B_2, \ldots, B_N이 주어진다 (0≤Bi<9982443530 \leq B_i < 998244353).

넷째 줄에 NN개의 정수 C1,C2,…,CNC_1, C_2, \ldots, C_N이 주어진다 (0≤Ci<9982443530 \leq C_i < 998244353).

출력

각 k=1,2,…,Nk=1,2,\ldots,N에 대한 답을 출력한다.

예제1

  1. 예제 1

    입력
    3
    1 2 3
    4 5 6
    7 8 9
    
    예상 출력
    146 1050 8694