만드는 중입니다

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

지주

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

요약
주어진 A_i로 m번 셔플한 뒤 각 질의의 위치 c_i에 놓인 카드의 f(i) 기댓값을 998244353으로 나눈 나머지로 구합니다.
난이도

어려움10점 중 9점

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

문제

케빈은 카드를 mm번 섞어야 한다. ii번째 섞기 규칙은 다음과 같다.

  1. 위에서 AiA_i장의 카드를 꺼내 새 더미를 만든다. 이제 더미가 두 개가 되는데, 하나는 원래 위쪽 AiA_i장이고 다른 하나는 나머지 n−Ain - A_i장이다. 각 더미 안에서 카드의 상대적인 순서는 바뀌지 않는다. AiA_i가 nn이거나 0이면 카드가 없는 더미가 하나만 생긴다.
  2. 두 더미를 합쳐 새 더미를 만든다. 첫 번째 더미에 카드가 XX장, 두 번째 더미에 YY장 있다고 하자. 확률 X/(X+Y)X/(X+Y)로 첫 번째 더미의 맨 아래 카드를 골라 새 더미의 맨 위에 놓는다. 확률 Y/(X+Y)Y/(X+Y)로 두 번째 더미의 맨 아래 카드를 골라 새 더미의 맨 위에 놓는다.
  3. 두 더미가 모두 빌 때까지 2번을 반복한다.

QQ개의 질문이 주어진다. 각 질문에서는 mm번 섞은 뒤 위에서 cic_i번째 위치에 있는 카드의 기대 점수를 구한다. ii번 카드의 점수는 f(i)f(i)이며, f(i)f(i)는 ii 또는 i2i^2이다.

입력

첫 줄에 정수 nn, mm, typetype이 주어진다. type=1type = 1이면 f(i)=if(i) = i이고, type=2type = 2이면 f(i)=i2f(i) = i^2이다.

다음 줄에는 정수 A1,…,AmA_1, \dots, A_m이 주어진다.

다음 줄에는 정수 QQ가 주어진다.

이어지는 QQ개의 줄에는 각각 정수 cic_i (1≤ci≤n1 \le c_i \le n)가 주어진다.

출력

각 질문에 대해 한 줄에 정수 하나를 출력한다. 답이 분수 A/BA/B 꼴이면, A≡C×B(mod998244353)A \equiv C \times B \pmod{998244353}을 만족하는 CC (0≤C<9982443530 \le C < 998244353)를 출력한다.

제한

3≤n≤1073 \le n \le 10^7

1≤m,Q≤5×1051 \le m, Q \le 5 \times 10^5

0≤Ai≤n0 \le A_i \le n

type∈{1,2}type \in \{1, 2\}

예제1

  1. 예제 1

    입력
    4 1 1
    3
    1
    1
    
    예상 출력
    249561090