#include using namespace std; typedef long long int ll; typedef pair P; typedef vector VI; typedef vector VVI; const ll MOD = 998244353; const ll INF = 4611686018427387903; #define REP(i, n) for (int i = 0; i < n; i++) #define ALL(v) v.begin(), v.end() int main(){ int n, q; cin >> n >> q; VI a(n); REP(i,n) cin >> a[i]; VI dp(n+1,0); VI dp2(n+1,0); dp[0]=1; REP(i,n){ REP(j,i+1){ dp2[j+1]+=dp[j]; dp2[j]+=dp[j]*(a[i]-1); dp2[j]%=MOD; } dp2[i]%=MOD; REP(j,i+2){ dp[j]=dp2[j]; dp2[j]=0; } } VI b(q); REP(i,q) cin >> b[i]; REP(i,q){ cout << dp[b[i]] << endl; } return 0; }