다항식과의 게임 2

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

요약
998244353을 법으로 하는 다항식의 계수와 q개의 질의점이 주어질 때, 각 점에서 다항식의 값을 계산해 출력한다.
난이도

보통10점 중 5점

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

문제

이 문제에서

  • 편의상 00=10^0 = 1로 둡니다.
  • p=998244353p = 998244353으로 고정합니다. 이 수는 소수입니다.

키파는 이런 인터랙티브 문제를 내려고 했습니다.

다음과 같은 함수를 호출할 수 있습니다:

  • evaluate(x): x를 다항식 Q(x)Q(x)에 대입한 후 pp로 나눈 나머지를 돌려줍니다.

evaluate 함수의 호출을 최대 qq번 할 수 있습니다. 당신의 프로그램은 입력으로 nn을 받아 Q(x)Q(x)의 계수를 pp로 나눈 나머지를 출력해야 합니다.

그런데, 테스트 케이스를 준비하면서 최대 qq개의 수에 대해 차수가 nn인 다항식을 평범하게 평가하는 것은 O(qn)O(qn)이라는 것을 깨달았습니다! 작년처럼 편법을 쓰지 않으려고, 키파는 유능한 PSer인 캬륜하에게 어떻게든 이 문제의 빠른 인터랙터를 짜 달라고 부탁했습니다.

곤경에 처한 캬륜하는 여러분에게 도움을 청했습니다. 캬륜하 대신 인터랙터를 짜 줍시다!

입력

첫째 줄에 nn과 qq가 주어집니다.

둘째 줄에 (n+1)(n+1)개의 정수 an,an−1,…,a1,a0a_n, a_{n-1}, \ldots, a_1, a_0이 공백을 사이에 두고 주어집니다.

셋째 줄부터 qq개의 줄에 걸쳐 정수 b1,…,bqb_1, \ldots, b_q가 주어집니다.

두 번째 줄부터 주어지는 모든 정수는 00 이상 pp 미만입니다.

출력

총 qq개의 줄에 정수 하나씩을 출력합니다. ii번째 줄에 출력하는 정수는

∑k=0nakbik mod p\sum_{k=0}^{n} a_k b_i^k \bmod p

여야 합니다.

예제1

  1. 예제 1

    입력
    1 2
    743644169 77606192
    1204
    981204
    
    예상 출력
    1027
    980318