思路:
当w = 1的时候,求出前4项的ai,
a0 = 1;
a1 = 1/2;
a2 = 3/8;
a3 = 5/16;
a4 = 35/105;
在乘上n的阶乘,和2^n得到
a0 = 1;
a1 = 1;
a2 = 3;
a3 = 15;
a4 = 105;
得到a[i] = a[i-1]*(2*i-1);
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
typedef long long LL;
const LL MOD = 998244353;
const int maxn = 1000100;
LL a[maxn];
int main(void)
{
LL x,q,w;
int i,j;
scanf("%lld%lld",&w,&q);
a[0]=w;
for(i=1;i<maxn;i++) a[i]=(a[i-1]*(2*i-1))%MOD;
while(q--){
scanf("%lld",&x);
printf("%lld\n",a[x]);
}
return 0;
}