#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include /*                      __,.二ニ==-  ニ.、_.                                      .,..‐ ⌒            ``'ァ-ニ、.                              ィ'´.                      ´丶.、                        .,ィ'´                            `.x、..           ..        /.                                、\.                 .ン′.                                  ¬`""冖ーミト.        ,r′.                                     .ヘ、    `       ツ                                         `、....         ./´                                          ヘ      .....  /.                                            .〉.       ´/..                                             .l       ィ                         .                     f..    .. .f ,d.                 l   ′ 」  ,.             ト     !    . 〕../.f..                 ′ ..  |  .}             |      |.     .!./..f..                 /  !- ナ丶п冖т    ノー- . 〕      |.     |メ |               | j      ,  ┌. |〈.   л`.   /|..     ┤,..   ...「...|.      |  ´      l. |  j.L......ュ.L_└ヽ_|Y.  メムw ょ |  j.:   |  ̄  .  |.               т〕<.ィ冖T冖.. г‐ `、 `, /┴¬..г ̄|.. .′  |    ...  |        ...       ),|.. `  リ 「_ノ.||    ` V  |!{,「ll ´.」.     卜    .  |.」      ′        ヽ    └++〃..        ルwf  カz′.   |.       |..〕                                      「     .|        .l.|.                                      ′.     |     .   .〕..               `!        _.....ー:''         」 ´    λ.       _「.    ,            ┐_,、`~‐''"´                ィ   .、 ヘ、      f      :__..,二ュ.-i―'''^~´                       、\イ ヘ.`x  .  /      {                                     j    .~^   、/       't..                                   丿..       .../.       ,x┐..                                 ∠∫       :^.       /   ̄冖ー=zzュ┌ー―--   ∟,二..._.       _,、.-ー.'l+~. .l`.      .       У.         ⌒冖‐-=._.. l「.「      ´ ̄」了  .,、-''^   〉 ヽ_           _/.                   ̄~'.ー-=.、_,..usァ.ー''"      {   \´        _ヰl'¬―- 、_                                 (    .\ */ using namespace std; using ll = long long int; using ull = unsigned long long int; ll const MOD = 998244353; ll const INF = (long long int)1 << 61; ll mypow(ll x,ll n,ll mod = MOD){ ll ret = 1; while(n > 0){ if(n&1){ ret = (ret*x)%mod; } x = (x*x)%mod; n >>= 1; } return ret; } ll mygcd(ll a,ll b){ if(b == 0)return a; return mygcd(b,a%b); } ll twoPow(ll shiftNum){ return (1LL << (shiftNum - 1)); } int main(){ cin.tie(0); ios::sync_with_stdio(false); ll n,q; cin >> n >> q; vector a(n); vector b(q); for(int i = 0; i < n; i++){ cin >> a[i]; } for(int i = 0; i < q; i++){ cin >> b[i]; } vector p(n); vector rp(n); ll total = 1; for(int i = 0; i < n; i++){ p[i] = mypow(a[i],MOD - 2); rp[i] = (1 + (MOD - p[i]))%MOD; total = (total * a[i])%MOD; } vector> dp(n+1,vector(n+1,0)); dp[0][0] = 1; for(int i = 0; i < n; i++){ for(int j = 0; j < n+1; j++){ dp[i+1][j] += (dp[i][j]*rp[i])%MOD; dp[i+1][j] %= MOD; if(j+1 < n+1){ dp[i+1][j+1] += (dp[i][j]*p[i])%MOD; dp[i+1][j+1] %= MOD; } } } for(int i = 0; i < q; i++){ cout << (dp[n][b[i]]*total)%MOD << endl; } return 0; }